본문 바로가기
알고리즘/백준 solved.ac PS

[백준][solved.ac][Bronze 1][Python] 20001번 : 고무오리 디버깅

by 빛밤하늘 2021. 4. 25.
반응형

밑의 링크는 백준에서의 문제 링크입니다.

 

20001번: 고무오리 디버깅

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

www.acmicpc.net

 

 

 

 

 

 

 

파이썬 코드와 결과입니다.

# 첫 번째 줄에 "고무오리 디버깅 시작"이라고 입력합니다.
start = input()

# 문제의 개수를 저장하는 변수를 선언합니다.
question = 0

# "고무오리 디버깅 끝"을 입력할 때까지 반복합니다.
while True:
    # 문제, 고무오리 혹은 고무오리 디버깅 끝을 입력합니다.
    is_rubberduck = input()

    # 고무오리 디버깅 끝을 입력했다면
    if is_rubberduck == "고무오리 디버깅 끝":
        # 반복문을 탈출합니다.
        break
    # 문제 혹은 고무오리를 입력했다면
    else:
        # 문제를 입력했다면
        if is_rubberduck == "문제":
            # 문제의 개수에 1을 더해줍니다.
            question += 1
        # 고무오리를 입력했다면
        elif is_rubberduck == "고무오리":
            # 문제의 개수가 0개인 경우
            if question == 0:
                # 체벌로 문제의 개수에 2를 더해줍니다.
                question += 2
            # 문제의 개수가 1개 이상인 경우
            else:
                # 한 문제를 해결하므로 문제의 개수에서 1을 뺍니다.
                question -= 1

# 남은 문제의 개수가 0개라면
if question == 0:
    # 고무오리야 사랑해를 출력합니다.
    print("고무오리야 사랑해")
# 남은 문제의 개수가 1개 이상이라면 
else:
    # 힝구를 출력합니다.
    print("힝구")

결과

 

저는 이 문제를 풀 때 스택을 생각하고 풀지는 않았습니다.

문제를 풀고 나서 카테고리를 보니 스택으로 구현하는 것을 의도한 문제였던 것 같습니다.

나중에 배열로 만든 스택을 활용해서 풀어보는 방법도 구현해서 올려보도록 하겠습니다.

 

 

 

※ 궁금한 부분, 이상한 점 및 오타는 댓글에 부탁드립니다.

※ 더 효율적이고 빠른 정답을 환영합니다.

반응형

댓글