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