[Data Structure] 스택을 사용한 후위 표기법 변환 및 계산
·
Programming/Algorithm & Data Structure
후위 표기법우리가 평소에 쓰는 수식 표기법은 중위 표기법(infix notation)이다. 하지만 연산자에는 우선순위가 있기 때문에 컴퓨터에서는 이를 후위 표기법(postfix notation)으로 변환해 매우 쉽게 수식을 계산할 수 있다. 후위 표기법은 연산자가 피연산자들 뒤에 온다.중위 표기법: A/B-C + D*E - A*C후위 표기법: AB/C-DE*AC*-후위 표기법은 다음과 같은 이유로 계산을 쉽게 만든다.괄호의 필요성이 없어짐연산자 우선순위의 의미가 없어짐infix에서 postfix로 변환하면서 연산자 계산 순서까지 순서대로 들어오기 때문에 계산 과정에서는 단순히 왼쪽부터 쭉 읽어나가면 된다.중위 표현법 -> 후위 표현법 변환해당 변환 과정에서 연산자를 저장하는 스택이 중요하게 사용된다.연산..
[Data Structure] 스택
·
Programming/Algorithm & Data Structure
개요top이 가리키는 한 쪽 끝에서 Push, Pop이 일어나는 순서 리스트후입선출(Last In First Out, LIFO)스택에서 구현할 기능생성자: 스택 capacity 초기화 및 스택 배열 할당소멸자: 스택 배열 해제IsEmpty: 스택이 비어있는 지 확인Top: top이 가리키는 값 리턴Push: 꽉 찬 경우 두 배로 늘려서 데이터 옮기기Pop: top이 가리키는 값 추출Print: 스택 출력코드#pragma once#include template class Stack{public: Stack(int stackCapacity); ~Stack(); bool IsEmpty() const; T& Top() const; void Push(const T& item); void Pop(); void Pr..
[백준 1874] 스택 수열
·
Programming/PS
입출력 속도 때문에 하루 종일 푼 문제입출력 속도에 대한 내용은 여기에서 볼 수 있다.2024.07.31 - [Programming/C++] - C++ 입출력 속도 높이기 C++ 입출력 속도 높이기파이썬으로 알고리즘 문제를 풀기 시작해서 얼마 안 돼 C++로 전환했는데, 이상하게 시간 초과가 뜨는 문제가 많이 보였다. 간단한 문제임에도 계속 시간 초과가 나서 하루 종일 해결을 못 했는kkj4818.tistory.com 문제https://www.acmicpc.net/problem/1874코드// 처음에 푼 풀이// 코드가 난잡함#include #include using namespace std;int main(){ ios::sync_with_stdio(false); cin.tie(NULL); cout.ti..
snwdaaa
'스택' 태그의 글 목록