본문 바로가기
프로그래머스/2단계

(Python/LV2) 테이블 해시 함수

by windy7271 2022. 12. 26.
728x90
반응형

문제 출처:

풀이:

def solution(data, col, row_begin, row_end):

    x = sorted(data, key =lambda x:(x[col-1],-x[0]))
    res = []
    while row_begin<=row_end:
        ans = 0
        for i in x[row_begin-1]:
            ans += i % row_begin

        res.append(ans)
        row_begin += 1
    result = res[0]
    for i in res[1:]:
        result = result ^ i
    return result

람다식으로 col 오름차순 정렬후 겹치면 0번째내림차순으로 정렬

 

while 문을 돌려 res에 각 행 계산값을 ans에 담아둔후 마지막에 res에 더해줌

결과로는 [0,4] 이렇게 들어감

 

 

    result = res[0]
    for i in res[1:]:
        result = result ^ i


하나씩 빼오면서 xor 계산
이것 대신 reduce 함수가 사용 가능하다
그럼 똑같이 하나씩 계신하면서 넣어줌

 

 

 

 

비트함수 xor = ^ 사용  

반응형

댓글