Algorithm & Data Structures/Programers
Lv 2. 테이블 해시 함수
Geisha
2024. 9. 3. 12:52
역대급 쉬운 문제였다.
다만 XOR 연산자 및 비트연산자에 대한 이해가 없어 XOR 연산을 하라는 말을 알아듣지 못해 상당히 시간낭비를 하였다. 비트연산자에 대해서 공부 후 포스팅 하도록 하겠다.
import java.util.*;
class Solution {
public int solution(int[][] data, int col, int row_begin, int row_end) {
int answer = 0;
List<int[]> list = new ArrayList<>();
for(int i = 0 ; i < data.length ; i++){
int[] arr = new int[data[i].length];
for(int j = 0 ; j < data[0].length ; j ++)
arr[j] = data[i][j];
list.add(arr);
}
Collections.sort(list,(o1,o2)->{
if(o1[col-1]==o2[col-1])
return o2[0]-o1[0];
return o1[col-1]-o2[col-1];
});
for(int i = row_begin-1 ; i < row_end ; i++){
int sum = 0 ;
for(int a : list.get(i)){
sum += a % (i+1);
}
answer = answer ^ sum;
}
return answer;
}
}