programmers_테이블 해시 함수_java
2023. 5. 17. 18:32ㆍAlgorithm/Programmers
728x90
https://school.programmers.co.kr/learn/courses/30/lessons/147354
import java.util.*;
class Solution {
public int solution(int[][] data, int col, int row_begin, int row_end) {
int answer = 0;
int colLength = data[0].length;
int rowLength = data.length;
int[] S_i = new int[rowLength+1];
// col값 기준 오름차순 정렬 -> 동일 값 : 0번 컬럼 기준 내림차순
Arrays.sort(data, new Comparator<int[]>() {
@Override
public int compare(int[] o1, int[] o2) {
int res = o1[col-1] - o2[col-1];
if (res == 0){
return o2[0] - o1[0];
}
return res;
}
});
// S_i 구하기
for (int i = row_begin; i<=row_end; i++){
S_i[i] = 0;
for (int j = 0; j<colLength; j++){
S_i[i] += data[i-1][j] % i;
}
}
// S_i XOR 연산
answer = S_i[row_begin];
for (int i = row_begin + 1; i<=row_end; i++){
answer = answer ^ S_i[i];
}
return answer;
}
}
'Algorithm > Programmers' 카테고리의 다른 글
programmers_N-Queen_java (0) | 2023.05.19 |
---|---|
programmers_시소 짝꿍_java (0) | 2023.05.18 |
programmers_후보키_java (0) | 2023.05.17 |
programmers_혼자 놀기의 달인_java (0) | 2023.05.15 |
programmers_숫자 카드 나누기_java (0) | 2023.05.15 |