[문제 풀이]
- 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
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스/python] 마법의 엘리베이터 (1) | 2023.03.13 |
---|---|
[프로그래머스/python] 우박수열 정적분 (0) | 2023.03.09 |
[프로그래머스/python] 혼자하는 틱택토 (0) | 2023.03.07 |
[프로그래머스/python] 미로 탈출 (0) | 2023.03.06 |
[프로그래머스/python] 무인도 여행 (0) | 2023.03.03 |