스택 5

백준 10773번 c++ 풀이

안녕하세요 오늘은 스택을 이용하면 정말정말 간단하게 풀리는 문제를 풀어보도록 하겠습니다. 전략: 1. 스택을 선언해주고 K번 반복하는 for문을 만들어서 만약 0이 들어왔으면 스택의 가장 위를 지우고, 그게 아니라면 넣어준다. 2. 스택 사이즈로 si라는 변수를 선언해주고, si만큼 반복하는 for문에서 result에 스택의 가장 위를 더해주고, pop으로 그 숫자를 스택에서 뺀다. 코드: #include using namespace std; int main(){ ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); long long result = 0; int K; cin>>K; stack s; for(int i = 0; i>x; if(x==0){ s.pop(); }..

BOJ 문제풀이 2021.08.13

백준 4949번 c++ 풀이

안녕하세요 오늘은 stack을 이용하여 문제를 풀어보도록 하겠습니다. 전략: 1. char 타입으로 stack을 선언해줍니다. 2. 모든 입력을 getline으로 받아서 한줄씩 받을 수 있도록 한다. 만약 들어온 입력이 "."이면 while문을 끝낸다. 3. 들어온 문자열의 길이만큼 반복하는 for문을 만들어서 각 문자가 '('인지, '['인지등등 판단한다. 4. 만약 (이거나 [이면 stack에 push해주고, 만약 )이면 stack이 비어있는지 확인하고, 또는 stack의 맨 위가 (이면 bool타입의 result에 false를 대입해주고, for문을 break 해준다. 그게 아니라면 result에 true를 대입하고 stack의 맨 위를 pop으로 없앤다. ]도 마찬가지로 처리해준다. 코드: #in..

BOJ 문제풀이 2021.08.12

백준 1874번 c++ 풀이

안녕하세요 오늘은 스택을 이용하여 스택 수열이라는 문제를 풀어보도록 하겠습니다. 전략: 1. int 타입의 스택 s, string타입의 변수 result를 선언해준다. 2. 입력받은 n번만큼 반복하게 while문을 설정해주고 각 반복마다 x변수를 받아준다. 3. while(n--) 전에 cnt변수를 1로 선언해준다. 그 뒤, while(cnt>n; stack s; string result = ""; int cnt = 1; while(n--){ int x; cin>>x; while(cnt

BOJ 문제풀이 2021.08.11

백준 9012번 c++ 풀이

안녕하세요 오늘은 스택을 이용해서 간단하게 문제를 풀어보겠습니다. 전략: 1. 한 글자씩 비교할 것이므로 char타입을 stack을 선언해준다. 2. 만약 스택의 제일 위가 ')'이면 count++, s.pop()을 해주고, 그게 아니라면 count--, s.pop()을 해줌으로 count가 음수가 되면 실행이 끝내게 한다. 3. 만약 (, )짝이 맞는다면 count는 결론적으로 0이 될 것이므로 만약 0이면 YES를 출력하고 그것이 아니면 NO를 출력한다. 코드: #include using namespace std; int main(){ ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int T; cin>>T; for(int i= 0; i>N; int len =..

BOJ 문제풀이 2021.08.07

백준 10828번 c++ 풀이

안녕하세요 오늘은 스택(stack) 자료구조를 이용한 문제를 풀어보겠습니다. stl container에는 stack을 구현할 필요없이 이미 있기 때문에 편하게 풀 수 있습니다. 전략: 1. stack를 선언해주고(stack s), for문을 이용하여 string타입으로 변수 x를 N번 입력을 받아줍니다. 2. 입력받은 x의 문자를 비교하여 push인지, pop인지, top인지 등등확인해줍니다. s.size()가 0이면 -1을 출력해야하는 것에 주의해야합니다. 코드: #include using namespace std; int main(){ ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int N; cin>>N; stack s; for(int i= 0; i>x; ..

BOJ 문제풀이 2021.08.06