[Algorithm] 백준 20001번 - 고무오리 디버깅
문제 링크 : https://www.acmicpc.net/problem/20001
문제
백준 문제 풀이에 힘들어하는 수진이를 위해 민우는 문제해결에 도움이 되는 고무오리를 준비했다. 민우가 준비한 고무오리는 신비한 능력이 존재하는데, 최근에 풀던 백준 문제를 해결해주는 능력이다. 신비한 고무오리와 함께 수진이의 백준 풀이를 도와주자!
고무오리의 사용법은 다음과 같다.
"고무오리 디버깅 시작" 이라고 외친다
문제들을 풀기 시작한다
고무오리를 받으면 최근 풀던 문제를 해결한다
"고무오리 디버깅 끝" 이라고 외치면 문제풀이를 종료한다.
하지만 고무오리에는 치명적인 문제가 있는데, 풀 문제가 없는데 사용한다면 고무오리는 체벌로 두 문제를 추가한다는 점이다.
입력
첫 번째 줄에 "고무오리 디버깅 시작"이라고 주어진다. 두 번째 줄부터 "고무오리" 또는 "문제"가 주어진다. 이는 "고무오리 디버깅 끝"이 주어질 때까지 반복한다. 최대 102줄이 입력으로 주어진다.
출력
고무오리 디버깅이 끝날 때, 주어진 문제를 수진이가 해결하였는지 여부에 따라 남은 문제 없이 모든 문제를 해결하였으면 "고무오리야 사랑해"을 출력하고 하나라도 문제가 남았다면 "힝구"를 출력하라.
✍풀이
Stack
을 선언해 "문제"를 입력하면push
"고무오리"를 입력하면pop
을 해주고size ==0
일 때 "고무오리"를 입력하면push
를 두 번 해주는 조건문을 넣었다.
코드
//https://velog.io/@cjhlsb
import java.util.Scanner;
import java.util.Stack;
public class Main {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
Stack<Integer> st = new Stack<>();
while(true)
{
String input = sc.nextLine();
if(input.equals("고무오리 디버깅 끝"))
break;
if(st.size()==0) {
if(input.equals("고무오리")) {
st.add(1);
st.add(1);
}
else if(input.equals("문제"))
st.add(1);
}
else if(st.size()!=0){
if(input.equals("고무오리"))
st.pop();
else if(input.equals("문제"))
st.add(1);
}
}
System.out.println(st.size()>0?"힝구":"고무오리야 사랑해");
}
}
Author And Source
이 문제에 관하여([Algorithm] 백준 20001번 - 고무오리 디버깅), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@cjhlsb/Algorithm-백준-20001번-고무오리-디버깅저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)