[프로그래머스]테이블 해쉬 함수

allnight5·2023년 6월 15일
0

프로그래머스

목록 보기
68/73

링크

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;
    }
}

해쉬값으로 반환하기 위해서 ^ 연산자를 활용한다는 것을 알았다.

profile
공부기록하기

0개의 댓글