문제 : https://school.programmers.co.kr/learn/courses/30/lessons/147354
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
문제 풀이
1. 조건에 맞게 정렬
2. S_i 누적 계산
3. XOR 누적 계산
순서대로 진행하면 된다.
작성한 코드
import java.util.Arrays;
class Solution {
public int solution(int[][] data, int col, int row_begin, int row_end) {
// column과 배열 인덱스 조율
int colIdx = col - 1;
Arrays.sort(data, (a,b) -> {
if (a[colIdx] != b[colIdx]) {
// 다르면 오름차순
return a[colIdx] - b[colIdx];
}
// 같으면 첫번째 column으로 내림차순
return b[0] - a[0];
});
int answer = 0;
for (int i = row_begin; i <= row_end; i++) {
// 배열 인덱스 조율
int[] row = data[i-1];
int sum = 0;
for (int value : row) {
// S_i 누적 합산
sum += value % i;
}
// XOR 계산
answer ^= sum;
}
return answer;
}
}'자료구조 & 알고리즘 > 문제 풀이 (프로그래머스)' 카테고리의 다른 글
| 미로 찾기 (BFS) (0) | 2026.07.30 |
|---|---|
| 하노이의 탑 (재귀) (0) | 2026.07.24 |
| 시소 짝꿍 (0) | 2026.07.21 |
| 멀쩡한 사각형 (최대공약수) (0) | 2026.07.20 |
| 숫자 카드 나누기 (최대공약수) (0) | 2026.07.15 |

