728x90

인덱스와 값의 상관관계를 생각해서 풀었다.

킹갓 파이썬으로는 lambda를 써서 정렬을 한번에 할 수 있다.

쉬운 문제였지만, 더 깔끔하게 풀 방법이 있을 것 같다.

def solution(answers):
    answer = [[1,0],[2,0],[3,0]]
    one = [1,2,3,4,5]
    two = [2,1,2,3,2,4,2,5]
    three = [3,3,1,1,2,2,4,4,5,5]

    for idx, val in enumerate(answers):
        if val == one[idx%5]:
            answer[0][1] += 1
        if val == two[idx%8]:
            answer[1][1] += 1
        if val == three[idx%10]:
            answer[2][1] += 1

    answer = sorted(answer, key=lambda x: (-x[1], x[0]))

    maxVal = answer[0][1]
    result = []
    for a in answer:
        if a[1] == maxVal:
            result.append(a[0])
    return result

 

'PS > Python' 카테고리의 다른 글

[BOJ] 14503 - 로봇 청소기  (0) 2021.09.18
[Programmers] 숫자 문자열과 영단어  (0) 2021.09.18
[BOJ_Python] 2644. 촌수계산  (0) 2021.04.17
[BOJ_Python] 7569. 토마토  (0) 2021.04.17
[BOJ_Python] 1991. 트리 순회  (0) 2021.04.08
  • 네이버 블로그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기