─━ IT ━─

[백준] [JAVA] 20001번 문제 - 고무오리 디버깅

DKel 2021. 3. 1. 08:42
반응형

 

 

20001번: 고무오리 디버깅

백준 문제 풀이에 힘들어하는 수진이를 위해 민우는 문제해결에 도움이 되는 고무오리를 준비했다. 민우가 준비한 고무오리는 신비한 능력이 존재하는데, 최근에 풀던 백준 문제를 해결해주는

www.acmicpc.net

20001번: 고무오리 디버깅

설명

백준 문제 풀이에 힘들어하는 수진이를 위해 민우는 문제해결에 도움이 되는 고무오리를 준비했다. 민우가 준비한 고무오리는 신비한 능력이 존재하는데, 최근에 풀던 백준 문제를 해결해주는 능력이다. 신비한 고무오리와 함께 수진이의 백준 풀이를 도와주자!

고무오리의 사용법은 다음과 같다.

  • "고무오리 디버깅 시작" 이라고 외친다
  • 문제들을 풀기 시작한다
  • 고무오리를 받으면 최근 풀던 문제를 해결한다
  • "고무오리 디버깅 끝" 이라고 외치면 문제풀이를 종료한다.

하지만 고무오리에는 치명적인 문제가 있는데, 풀 문제가 없는데 사용한다면 고무오리는 체벌로 두 문제를 추가한다는 점이다.

제한사항

첫 번째 줄에 "고무오리 디버깅 시작"이라고 주어진다. 두 번째 줄부터 "고무오리" 또는 "문제"가 주어진다. 이는 "고무오리 디버깅 끝"이 주어질 때까지 반복한다. 최대 102줄이 입력으로 주어진다.

 

소스코드

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Stack;

public class Main {
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        Stack<Boolean> stack = new Stack<Boolean>();
        while (true) {
            String str = br.readLine();
            if (str.equals("고무오리")) {
                if (stack.size() == 0) {
                    stack.push(true);
                    stack.push(true);
                } else {
                    stack.pop();
                }
            } else if (str.equals("문제")) {
                stack.push(true);
            } else if (str.equals("고무오리 디버깅 끝")) {
                break;
            }
        }
        System.out.println(stack.isEmpty() ? "고무오리야 사랑해" : "힝구");
    }
}

제출한 소스코드

 

lemondkel - Overview

4-Year Web programmer. lemondkel has 41 repositories available. Follow their code on GitHub.

github.com

 

반응형