[Baekjoon Online Judge] 풀이

[Baekjoon Online Judge] 백준 2476번: 주사위 게임 파이썬 풀이 - 알고리즘 코딩 문제 해설 python

codeomni 2023. 2. 15. 15:35
반응형

 

안녕하세요.

이번 포스팅은 백준 온라인 저지의 2476 문제 풀이입니다.

문제 이름은 "주사위 게임" 입니다.

 

 

문제


문제 링크는 바로 밑의 링크를 확인해주세요.

https://www.acmicpc.net/problem/2476

 

2476번: 주사위 게임

첫째 줄에는 참여하는 사람 수 N이 주어지고 그 다음 줄부터 N개의 줄에 사람들이 주사위를 던진 3개의 눈이 빈칸을 사이에 두고 각각 주어진다. 

www.acmicpc.net

 

 

풀이


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
= int(input())
res = 0
for i in range(N):
    num = input().split()
    num.sort()
    a, b, c = map(int, num)
    if a==and b==c:
        money = 10000 + (a * 1000)
    elif a==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. 첫째 줄에 가장 많은 상금을 받은 사람의 상금을 출력합니다.