본문 바로가기

알고리즘 공부/백준 > Python3

[백준 파이썬] #2476: 주사위 게임

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

 

2476번: 주사위 게임

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

www.acmicpc.net

 

[정답]

 

1. 참여하는 사람의 수 N을 입력받는다. 그리고 가장 많은 상금을 받은 사람의 상금을 winer로 정의한다.

2. 0~N-1(사람의 수만큼)동안 for문을 돌면서 3개의 주사위 값을 입력받아 리스트형태로 dice에 넣어준다.

3. 같은 주사위의 개수를 count로 정의하고 1로 초기화한다.

4. 0~2(주사위의 개수)동안 for문을 돌면서 만약 dice[i]의 개수가 count보다 크다면 count를 dice[i]의 개수로 업데이트하고 dice[i]를 같은 주사위의 수인 num에 넣어준다.

5. 만약 count==1라면 즉 같은 주사위가 없다면 price=max(dice)*100. 만약 count==2라면 즉 같은 주사위가 2개 있다면 price=1000+num*100. 그 외 즉 같은 주사위가 3개 있다면 price=10000+num*1000 해준다.

6. 가장 많은 상금을 받은 사람의 상금인 winer와 현재 참여한 사람의 price를 비교하여 만약 price>winer라면 winer에 price를 넣어준다.

7. 최종적으로 winer를 출력한다.

 


이번 문제는 "#2480: 주사위 세개" 문제의 연장선 문제이다.

https://heewon9809.tistory.com/210

 

[백준 파이썬] #2480: 주사위 세개

https://www.acmicpc.net/problem/2480 2480번: 주사위 세개 1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 같은 눈이 3개가 나오면 10,000원+(같은 눈)

heewon9809.tistory.com