작성일 :

문제 링크

20001번 - 고무오리 디버깅

설명

입력 흐름에 따라 남은 문제 수를 관리하고 결과를 출력하는 문제입니다.


접근법

문제 수를 정수로 관리합니다.

“문제”면 1 증가, “고무오리”면 1 감소하되 0일 때는 2 증가합니다. 종료 후 0이면 성공입니다.


Code

C#

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
using System;

class Program {
  static void Main() {
    var line = Console.ReadLine();
    var cnt = 0;

    while (true) {
      line = Console.ReadLine();
      if (line == "고무오리 디버깅 끝") break;

      if (line == "문제") cnt++;
      else {
        if (cnt == 0) cnt += 2;
        else cnt--;
      }
    }

    Console.WriteLine(cnt == 0 ? "고무오리야 사랑해" : "힝구");
  }
}

C++

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <bits/stdc++.h>
using namespace std;

int main() {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);

  string line;
  getline(cin, line);

  int cnt = 0;
  while (true) {
    getline(cin, line);
    if (line == "고무오리 디버깅 끝") break;

    if (line == "문제") cnt++;
    else {
      if (cnt == 0) cnt += 2;
      else cnt--;
    }
  }

  cout << (cnt == 0 ? "고무오리야 사랑해" : "힝구") << "\n";

  return 0;
}