pkuImoogis / study-codingTest

0 stars 0 forks source link

테이블 해시 함수 #358

Open geonnho0 opened 8 months ago

geonnho0 commented 8 months ago

문제 링크

geonnho0 commented 8 months ago

문제 조건에 맞게 데이터를 정렬한 뒤, 해시 값을 구하면 돼요.

코드

class Solution {
    public int solution(int[][] data, int col, int row_begin, int row_end) {
        Arrays.sort(data, (o1, o2) -> {
           if (o1[col - 1] == o2[col - 1])
               return o2[0] - o1[0];
            return o1[col - 1] - o2[col - 1];
        });
        int S = 0;
        for (int i = row_begin - 1; i < row_end; i++) {
            int sum = 0;
            for (int j = 0; j < data[0].length; j++)
                sum += data[i][j] % (i + 1);
            S ^= sum;   
        }
        return S;
    }
}