테이블 해시 함수

최민수·2023년 2월 25일
0

알고리즘

목록 보기
14/94
def solution(data, col, row_begin, row_end):
    answer = 0
    temp = []
    
    # 조건에 따른 sort
    data = sorted(data, key=lambda data: (data[col-1], -data[0]))
    
    # 조건에 따른 합
    for idx in range(row_begin-1, row_end):
        items = data[idx]
        tot = 0
        for item in items:
            tot += item % (idx+1)
        temp.append(tot)
        
    # 조건에 따른 XOR
    answer = temp[0]
    for i in range(1, len(temp)):
        answer = answer ^ temp[i]
    
    return answer
  • lambda function 으로 sort를 하는 방법에 대해서 아는지 물어보는 문제이다.
    • 기준이 1개일 경우:
      data = sorted(data, key=lambda data: data[col])
    • 기준이 여러 개일 경우:
      data = sorted(data, key=lambda data: (data[col], data[another_col]))
    • 참고) 오름차순, 내림차순 변환은 기준 컬럼에 (-)를 붙이면 됨.

참고 사이트: https://blogboard.io/blog/knowledge/python-sorted-lambda/
출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges

profile
CS, 개발 공부기록 🌱

0개의 댓글