작성
·
128
0
import sys
sys.stdin = open('2_9.txt', 'rt')
def findDupValue(value):
n_counter = {}
for n in value:
if n not in n_counter : n_counter[n] = 1
else : n_counter[n] += 1
if n_counter[n] == 2: return n
N = int(input())
dice = []
cnt_dice = []
prize = []
for i in range(N):
dice.append(list(map(int, input().split())))
cnt_dice.append(len(set(dice[i])))
for value, cnt in zip(dice, cnt_dice):
if cnt == 1 : prize.append(10000 + (value[0]) * 1000)
elif cnt == 2 : prize.append(1000 + (findDupValue(value)) * 100)
else : prize.append(max(value) * 100)
print(max(prize))
for문을 2개 쓴게 걸리는데 이런 코드는 어떤가요?
입력받을 때 주사위 값을 묶어서 배열로 저장하는 dice 리스트와
set으로 받아서 길이를 저장하는 cnt_dice 리스트를 사용했고
cnt 리스트가 2이면 findDupValue 함수에서 dictionary를 사용해서 다시 카운팅해 중복되는 숫자를 찾아 계산하는 코드입니다.