[백준/파이썬] 2480번 주사위 세개 풀이
업데이트:
문제 정보
- 문제 출처: 백준 온라인 저지
- 문제 링크: 2480번 주사위 세개
- 문제풀이 코드 GitHub 링크
- 제출 언어: Python 3
풀이
문제
1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다.
- 같은 눈이 3개가 나오면 10,000원+(같은 눈)*1,000원의 상금을 받게 된다.
- 같은 눈이 2개만 나오는 경우에는 1,000원+(같은 눈)*100원의 상금을 받게 된다.
- 모두 다른 눈이 나오는 경우에는 (그 중 가장 큰 눈)*100원의 상금을 받게 된다.
예를 들어, 3개의 눈 3, 3, 6이 주어지면 상금은 1,000+3*100으로 계산되어 1,300원을 받게 된다.
또 3개의 눈이 2, 2, 2로 주어지면 10,000+2*1,000 으로 계산되어 12,000원을 받게 된다.
3개의 눈이 6, 2, 5로 주어지면 그중 가장 큰 값이 6이므로 6*100으로 계산되어 600원을 상금으로 받게 된다.
3개 주사위의 나온 눈이 주어질 때, 상금을 계산하는 프로그램을 작성 하시오.
- 자세한 문제 및 입출력 예제는 상단의 문제 출처(백준 홈페이지)를 참조해주세요
코드
a,b,c=map(int,input().split())
if a==b==c:
print(10000+a*1000)
elif a==b or b==c:
print(1000+b*100)
elif a==c:
print(1000+a*100)
else:
print(max(a,b,c)*100)
설명
쉬운 문제입니다
문제에서 구분해 준 3개의 조건을 프로그래밍 언어로 옮겨적기만 하면 됩니다.
이 중, elif문으로 쓴 두 조건에 대해서만 짧게 설명드리겠습니다.
이 두 조건은 위의 2번 조건을 구현한 것입니다. 2개의 눈이 같으면 해당 눈이 계산에 필요하게되므로, 어떤 눈이 같은 눈이 있는지 파악이 필요합니다.
a == b or b == c
인 경우 무조건 b는 같은 눈입니다. 이를 바로 사용하면 되고, 주사위 세개를 던졌을 때, b가 같은 눈이 아닌 경우 단 한가지인 a == c
만 따로 한번 더 고려해주면 됩니다.
a == b or b == c or a == c
라고 쓸 수도 있었겠지만, 이렇게 되면 어떤 눈이 같은 눈인지를 한번 더 고려해야 될 것입니다.
댓글남기기