import java.util.Arrays;
class Solution {
int answer = 0;
public int solution(int[][] data, int col, int row_begin, int row_end) {
sortData(data, col);
return resultSumAndXor(data, row_begin, row_end);
}
public void sortData(int[][] data, int col){
int colOverride = col-1;
Arrays.sort(data, (a,b)->{
if(a[colOverride] != b[colOverride]){
return a[colOverride]-b[colOverride];
}
return b[0]-a[0];
});
}
public int resultSumAndXor(int[][] data, int row_begin, int row_end){
for(int i=row_begin; i<=row_end;i++){
int sum=0;
for(int j=0; j<data[0].length;j++){
sum += data[i-1][j] % i;
}
answer = answer ^ sum;
}
return answer;
}
}
해쉬값으로 반환하기 위해서 ^ 연산자를 활용한다는 것을 알았다.