난이도
LV2
풀이
자바 풀이
import java.util.*;
class Solution {
public int solution(int[][] data, int col, int row_begin, int row_end) {
int answer = 0;
col = col-1;
int finalcol = col;
Arrays.sort(data,(o1,o2)->{
if(o1[finalcol]==o2[finalcol]) return o2[0]-o1[0];
return o1[finalcol]-o2[finalcol];
});
for(int i = row_begin-1; i<row_end; i++){
int x = i+1;
int dataTotal = Arrays.stream(data[i])
.map(j->j%x)
.sum();
answer = (answer ^ dataTotal);
}
return answer;
}
}
파이썬 풀이
def solution(data, col, row_begin, row_end):
answer = 0
data.sort(key=lambda x:(x[col-1],-x[0]))
for i in range(row_begin,row_end+1):
idx=i-1
result=0
for a in data[idx]:
result+=a%i
answer = answer ^ result
return answer
문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/147354
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
'알고리즘' 카테고리의 다른 글
프로그래머스 소수 찾기 (0) | 2023.04.25 |
---|---|
프로그래머스 크기가 작은 문자열 (자바, 파이썬 풀이) (0) | 2023.04.24 |
BOJ 25918번(북극곰은 괄호를 찢어) (0) | 2023.04.23 |
프로그래머스 크기가 작은 부분 문자열 (0) | 2023.04.21 |
프로그래머스 신규 아이디 추천 (0) | 2023.04.20 |