less than 1 minute read

147354. 테이블 해시 함수 / c++ / level2 / 1시간+

문제 및 코드 (링크)

image

접근 방식

정렬

  1. 튜플로 이루어진 배열을 col 번째 원소로 오름차순 정렬, 만약 정렬 키 값이 동일하다면 0번째 원소로 내림차순 정렬
  2. 정렬된 배열 중 row_begin 부터 row_end 까지 의 원소들로 연산을 한 값을 S_i 라고 할 때, S_i 값들을 XOR 한 값을 반환하는 함수
  3. 문제에 주어진 조건대로 배열을 정렬한 뒤
  4. 배열을 row_begin 부터 row_end 까지 순회하며 S_i 값을 구한다.
  5. 그 S_i 값을 answer 에 XOR 연산 (answer는 처음 나온 S_i값으로 초기화)
  6. answer를 반환
  7. 해결

생각해 볼 점

  1. 문제가 너무 이해하기 어렵게 쓰여있다. 문제가 어려운게 아니라 그냥 설명이 이해하기 어렵게 쓰여 있다.
  2. 문제 자체는 굉장히 단순한 정렬 문제였다. 문제가 해쉬값을 구하는 로직이었다곤 하지만, 문제에 필요한 알고리즘에는 단순 정렬만 쓰일 뿐 해쉬가 쓰이진 않았다.

해시태그

#99클럽 #코딩테스트 준비 #개발자 취업 #항해99 #TIL