[문제 풀이]

  • sorted 함수를 통해 간단하게 풀 수 있었습니다. 코드와 같이 sorted 함수의 key에 lambda x : (x[col -1],-x[0]) 을 설정해주면 일차적으로 col번째 해당하는 값을 통해 정렬이 되는데, 해당 값이 같을 경우 제일 앞의 값(x[0])을 기준으로 정렬하게 됩니다. reverse를 설정해주지 않으면 오름차순 정렬이 이루어지므로, -x[0]을 활용할 경우 col번째 값이 같은 값들을 정렬할 때 내림차순 정렬이 이루어집니다.

 

[풀이 코드]

def solution(data, col, row_begin, row_end):
    data = sorted(data, key=lambda x: (x[col - 1], -x[0]))
    seq = []
    for i in range(row_begin - 1, row_end):
        s = 0
        for val in data[i]:
            s += val % (i + 1)
        seq.append(s)

    answer = seq[0]
    for i in range(1, len(seq)):
        answer = answer ^ seq[i]
    return answer

+ Recent posts