✏️ 문제
https://school.programmers.co.kr/learn/courses/30/lessons/42862?language=java
✏️ 작성 코드
import java.util.Arrays;
import java.util.Collections;
class Solution {
public int solution(int n, int[] lost, int[] reserve) {
int answer = 0;
int helped = 0;
Arrays.sort(lost);
Arrays.sort(reserve);
//잃어버린 학생들 비교
for(int i = 0; i < lost.length; i++){
//여유분 가져온 학생들 비교 - 자기자신
for(int j = 0; j < reserve.length; j++){
if(lost[i] == reserve[j]){
lost[i] = -1;
reserve[j] = -1;
helped++;
break;
}
}
}
//여유분 가져온 학생들 비교 - 앞뒤
for(int i = 0; i < lost.length; i++){
if(lost[i] == -1){
continue;
}
for(int j = 0; j < reserve.length; j++){
if(reserve[j] != -1 && Math.abs(lost[i] - reserve[j]) == 1){
reserve[j] = -1;
helped++;
break;
}
}
}
answer = n - (lost.length - helped);
return answer;
}
}
✏️ 체크 포인트
값 비교 시 정렬했는지 확인
continue랑 break 헷갈리지 말것(;;;;;;;)