BAEKJOON 2480 주사위 세개 (Python)
# 링크 : 주사위 세개
2480번: 주사위 세개
1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다. 같은 눈이 2개
www.acmicpc.net
# 정답 코드
# 주사위 눈 입력 받기
dice = list(map(int, input().split()))
# 상금 계산을 위한 기본 금액 설정
prize = 0
# 주사위 눈이 모두 같은 경우
if dice[0] == dice[1] == dice[2]:
prize = 10000 + dice[0] * 1000
# 주사위 눈 중 2개가 같은 경우
elif dice[0] == dice[1] or dice[1] == dice[2] or dice[0] == dice[2]:
for i in range(3):
if dice[i] == dice[i - 1]:
prize = 1000 + dice[i] * 100
break
# 주사위 눈이 모두 다른 경우
else:
prize = max(dice) * 100
# 결과 출력
print(prize)
# 해설
1. 주사위 눈 입력 받기 : input() 함수를 사용하여 사용자로부터 3개의 주사위 눈을 입력받습니다. 입력 값은 공백으로 구분되어 있으므로 split() 함수를 사용하여 주사위 눈을 분리하고, 각각을 정수로 변환하여 dice 리스트에 저장합니다.
2. 상금 계산을 위한 기본 금액 설정 : prize 변수를 초기화하여 상금을 계산하기 위한 기본값을 설정합니다. 초기값은 0입니다.
3. 주사위 눈이 모두 같은 경우 확인 : if dice[0] == dice[1] == dice[2]:를 사용하여 주사위 눈이 모두 같은지 확인합니다. 모두 같은 경우, 10,000원 + (같은 눈) * 1,000원의 상금을 계산하고 prize 변수에 저장합니다.
4. 주사위 눈 중 2개가 같은 경우 확인 : 이 부분은 elif 문을 사용하여, 앞서 확인한 모든 눈이 같은 경우를 제외한 나머지 경우 중에서 2개의 눈이 같은 경우를 확인합니다. for 루프를 사용하여 3개의 주사위 눈을 하나씩 확인하면서, 두 개의 눈이 같은 경우를 찾습니다. 두 개의 눈이 같은 경우, 1,000원 + (같은 눈) * 100원의 상금을 계산하고 prize 변수에 저장합니다. break를 사용하여 루프를 종료합니다.
5. 주사위 눈이 모두 다른 경우 확인 : else 문을 사용하여, 위의 두 가지 경우에 해당하지 않는 경우를 처리합니다. 여기서는 모든 눈이 다른 경우 중에서 가장 큰 눈을 찾아서, (가장 큰 눈) * 100원의 상금을 계산하고 prize 변수에 저장합니다.