Greedy
체육복
import java.util.*;
import java.util.stream.Collectors;
class Solution {
public int solution(int n, int[] lost, int[] reserve) {
int answer = n - lost.length;
List<Integer> lostList = Arrays.stream(lost)
.boxed()
.collect(Collectors.toList());
List<Integer> reserveList = Arrays.stream(reserve)
.boxed()
.collect(Collectors.toList());
Collections.sort(lostList);
Collections.sort(reserveList);
int lostIdx = 0;
int reserveIdx = 0;
while (lostIdx < lostList.size()
&& reserveIdx < reserveList.size()) {
if (lostList.get(lostIdx) == reserveList.get(reserveIdx)) {
answer++;
lostList.remove(lostIdx);
reserveList.remove(reserveIdx);
continue;
} else if (lostList.get(lostIdx) > reserveList.get(reserveIdx)) {
reserveIdx++;
} else {
lostIdx++;
}
}
lostIdx = 0;
reserveIdx = 0;
while(lostIdx < lostList.size()
&& reserveIdx < reserveList.size()) {
Integer lostId = lostList.get(lostIdx);
Integer reserveId = reserveList.get(reserveIdx);
if (Math.abs(lostId - reserveId) == 1) {
answer++;
lostIdx++;
reserveIdx++;
continue;
}
if (lostId > reserveId) {
reserveIdx++;
continue;
} else {
lostIdx++;
continue;
}
}
return answer;
}
}
중복 삭제할 때 인덱스 조심해서 건들이기
조이스틱
큰 수 만들기
구명보트
섬 연결하기
단속카메라
Last updated