[백준/파이썬] 11800번 풀이

업데이트:



문제 정보


풀이

문제

상근이와 창영이는 재미있는 주사위 게임을 하고 있다.

게임에서 사용되는 주사위는 2개를 사용하며 1 부터 6 까지 존재하는 정육면체이다.

주사위의 각 면에는 다음과 같은 고유 별칭이 부여된다.

  • 1 : ”Yakk”

  • 2 : “Doh”

  • 3 : “Seh”

  • 4 : “Ghar”

  • 5 : “Bang”

  • 6 : “Sheesh”

상근이와 창영이가 주사위를 한 개씩 던졌을 때 나온 수 중 큰 수부터 별칭을 부르면 된다

예를 들어 1 과 2 가 나오면 “Doh Yakk” , 3 과 5 가 나오면 “ Bang Seh” , 6 과 4 가 나오면 “Sheesh Ghar “

단 두 수가 같은 수가 나오는 경우에는 다음과 같은 별칭을 부여한다

  • 1 - 1 : “Habb Yakk”

  • 2 - 2 : ”Dobara”

  • 3 - 3 : ”Dousa”

  • 4 - 4 : ”Dorgy”

  • 5 - 5 : ”Dabash”

  • 6 - 6 : ”Dosh” …

입력 요약
첫 줄에는 전체 테스트 개수인 T 가 주어진다. (1 ≤ T ≤ 100)

그 다음줄부터는 각 테스트에 주어지는 두 수 a , b 가 주어진다. (1 ≤ a, b ≤ 6)

출력 요약
각 테스트마다 상근이와 창영이가 외쳐야 할 문장을 “Case n:” ( ““ 제외 ) 을 포함하여 출력하시오.

코드

d=['',"Yakk","Doh","Seh","Ghar","Bang","Sheesh"]
dd=['',"Habb Yakk","Dobara","Dousa","Dorgy","Dabash","Dosh"]
for T in range(int(input())):
    a,b=map(int,input().split())
    a,b=max(a,b),min(a,b)
    r=f'Case {T+1}: '
    if a==b:r+=dd[a]
    elif a==6 and b==5:r+="Sheesh Beesh"
    else:r+=f'{d[a]} {d[b]}'
    print(r)

설명

핵심은 구현 관점에서 상근이와 창영이는 재미있는 주사위 게임을 하고 있다.

게임에서 사용되는 주사위는 2개를 사용하며 1 부터 6 까지 존재하는 정육면체이다.

주사위의 각 면에는 다음과 같은 고유 별칭이 부여된다.

  • 1 : ”Yakk”

  • 2 : “Doh”

  • 3 : “Seh” …를 만족하도록 로직을 구성하는 것입니다.

코드는 입력을 파싱한 뒤 조건 분기와 계산을 순서대로 수행하고, 문제에서 요구한 형식으로 결과를 출력합니다.

경계값과 예외 케이스도 함께 고려해 오답이 나기 쉬운 상황을 방지합니다.



다음 읽을거리

관련 허브 페이지에서 같은 주제의 글을 이어서 확인할 수 있습니다.

댓글남기기