Algorithm
백준 2484번 <주사위 네개>
seungh2
2022. 1. 24. 23:25
백준 알고리즘 2484번
https://www.acmicpc.net/problem/2484
2484번: 주사위 네개
첫째 줄에는 참여하는 사람 수 N이 주어지고 그 다음 줄부터 N개의 줄에 사람들이 주사위를 던진 4개의 눈이 빈칸을 사이에 두고 각각 주어진다.
www.acmicpc.net
2484번
입력으로 주사위 4개의 눈이 들어온다.
출력으로는 주어진 규칙에 따라 가장 높은 상금을 구해 출력하면 된다.
규칙
A. 같은 눈 4개 -> 50000 + 같은 눈 * 5000
B. 같은 눈 3개 -> 10000 + 같은 눈 * 1000
C. 같은 눈 2개, 같은 눈 2개 -> 2000 + 같은 눈1 * 500 + 같은 눈2 * 500
D. 같은 눈 2개 -> 1000 + 같은 눈 * 100
E. 모두 다른 눈 -> 그 중 가장 큰 눈 * 100
문제 해결
단순하게 규칙을 구현하면 된다.
주사위의 눈을 입력받은 list를 set한 길이를 보고 조건문을 나눌 수 있다.
set한 길이가 1이면 -> A
길이가 2면 -> B or C
길이가 3이면 -> D
길이가 4면 -> E
코드
dice = list(map(int, input().split()))
length = len(set(dice))
score = 0
if length == 1:
score = 10000 + dice[0] * 1000
elif length == 2:
dice_dict = {}
for i in dice:
if i in dice_dict:
dice_dict[i] += 1
else:
dice_dict[i] = 1
for k, v in dice_dict.items():
if v == 2:
score = 1000 + 100 * k
elif length == 3:
score = 100 * max(dice)
print(score)
결과
728x90