사용언어 : C++
문제풀이
* stack 이용하기!
(1) 문자열을 입력받을 땐 getline을 사용한다
("고무오리 디버깅 끝", "고무오리 디버깅 시작"은 공백을 포함하기 때문)
(2) "문제" : stack push 한번. "고무오리" : stack pop 한번 (스택이 비어있으면 push 두번)
전체코드
#include<iostream>
using namespace std;
#include<string>
#include<stack>
string str;
stack<int> s;
int main() {
getline(cin, str);
while (str!="고무오리 디버깅 끝") {
getline(cin, str);
if (str == "문제")
s.push(1);
else if (str == "고무오리")
if (s.empty()) {
s.push(1);
s.push(1);
}
else
s.pop();
}
if (s.empty())
cout << "고무오리야 사랑해";
else
cout << "힝구";
}
총평
stack을 연습하기 위한 문제였지만, 굳이 stack을 이용하지 않고 문제 count, 고무오리 count를 비교해서 답을 구할 수 있다고 생각했는데, 그렇게 되면 해당 시점에 풀 문제가 없을 때 문제를 두 개 추가하는 부분을 구현하기 어려울 것 같아서 그냥 stack을 이용하기로 했다.
+cin>>str으로 하면 "고무오리 디버깅 끝", "고무오리야 사랑해" 를 인식하는 데에 어려움이 있다.
문제 출처
https://www.acmicpc.net/problem/20001
20001번: 고무오리 디버깅
백준 문제 풀이에 힘들어하는 수진이를 위해 민우는 문제해결에 도움이 되는 고무오리를 준비했다. 민우가 준비한 고무오리는 신비한 능력이 존재하는데, 최근에 풀던 백준 문제를 해결해주는
www.acmicpc.net
'CodingTest > BOJ' 카테고리의 다른 글
[BOJ 2164] 백준 카드2 풀이 - C++ (0) | 2021.11.16 |
---|---|
[BOJ 11047] 백준 동전0 풀이 - C++ (0) | 2021.11.14 |
[BOJ 1699] 백준 제곱수의 합 풀이 - C++ (0) | 2021.09.30 |
[BOJ 17626] 백준 Four Squares 풀이 - C++ (0) | 2021.09.30 |
[BOJ 17219] 백준 비밀번호 찾기 풀이 - C++ (0) | 2021.09.30 |