[백준] 2303번 숫자 게임

거북이·2023년 1월 7일
0

백준[실버5]

목록 보기
72/114
post-thumbnail

💡문제접근

combinations 패키지를 사용해서 각각의 경우를 탐색한 다음 세 수의 합에서 일의 자리 수가 가장 크게 되도록 세 수를 선택해서 참가자의 번호와 그 합의 일의 자리 수를 리스트에 저장했다. 그 다음 참가자의 번호와 합의 일의 자리 수를 저장한 리스트를 1차적으로 점수를 기준으로 내림차순 정렬하고 만약 점수가 동일하다면 2차적으로 참가자의 번호를 기준으로 내림차순 정렬했다.

💡코드(메모리 : 30616KB, 시간 : 80ms)

from itertools import combinations

N = int(input())
lst = []
player_pick = []
for i in range(N):
    lst = list(map(int, input().split()))
    max_lst = 0
    for j in combinations(lst, 3):
        result = str(sum(j))
        if int(result[-1]) > max_lst:
            max_lst = int(result[-1])
    player_pick.append([i+1, max_lst])

player_pick.sort(key = lambda x : (-x[1], -x[0]))
print(player_pick[0][0])

💡소요시간 : 10m

0개의 댓글