반응형
안녕하세요.
이번 포스팅은 백준 온라인 저지의 2476번 문제 풀이입니다.
문제 이름은 "주사위 게임" 입니다.
문제
문제 링크는 바로 밑의 링크를 확인해주세요.
https://www.acmicpc.net/problem/2476
풀이
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
N = int(input())
res = 0
for i in range(N):
num = input().split()
num.sort()
a, b, c = map(int, num)
if a==b and b==c:
money = 10000 + (a * 1000)
elif a==b or a==c:
money = 1000 + (b * 100)
elif b == c:
money = 1000 + (b * 100)
else:
money = c * 100
if money > res :
res = money
print(res)
|
cs |
1. 주사위 게임에 참여하고 있는 사람의 수 N을 입력 받습니다.
2. 처리하기 이전에 가장 많은 상금을 저장할 변수를 선언합니다.
3. 사람의 수 N만큼 for문을 반복합니다.
4. 주사위의 눈을 공백 기준으로 입력 받습니다. 이때 정렬하기 위해 문자로 입력 받습니다.
5. 입력 받은 문자를 정렬합니다.
6. map() 함수를 사용해 int 형으로 변환합니다.
7~8. 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 됩니다.
9~12. 같은 눈이 2개만 나오는 경우에는 1,000원+(같은 눈)×100원의 상금을 받게 됩니다.
13~14. 모두 다른 눈이 나오는 경우에는 (그 중 가장 큰 눈)×100원의 상금을 받게 됩니다.
15~16. 계산된 값이 결과 값보다 클 경우 결과 값을 변경합니다.
17. 첫째 줄에 가장 많은 상금을 받은 사람의 상금을 출력합니다.
댓글