반응형
문제
풀이
앞 사람 또는 뒤 사람에게 체육복을 빌린다.
빌려준 사람은 reserve 배열에서 삭제한다.
삭제를 편하게 하기 위해서 배열 대신 HashSet을 사용했다.
코드
java
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
import java.util.stream.Collectors;
public class Solution {
public int solution(int n, int[] lost, int[] reserve) {
int answer = n;
Set<Integer> reserveSet = new HashSet<>();
reserveSet.addAll(Arrays.stream(reserve).boxed().collect(Collectors.toList()));
Set<Integer> lostSet = new HashSet<>();
lostSet.addAll(Arrays.stream(lost).boxed().collect(Collectors.toList()));
for (int i : lost) {
if (reserveSet.contains(i)) {
reserveSet.remove(i);
lostSet.remove(i);
}
}
for (int i : lostSet) {
if (reserveSet.contains(i - 1)) {
reserveSet.remove(i - 1);
} else if (reserveSet.contains(i + 1)) {
reserveSet.remove(i + 1);
} else {
answer--;
}
}
return answer;
}
}
반응형
'프로그래머스' 카테고리의 다른 글
프로그래머스 - 방문 길이 (1) | 2024.01.06 |
---|---|
프로그래머스 - 신규 아이디 추천 (0) | 2022.12.06 |
프로그래머스 - 카카오 프렌즈 컬러링북 (0) | 2022.02.20 |
프로그래머스 - 오픈채팅방 (0) | 2022.02.18 |
프로그래머스 - K번째수 (0) | 2022.01.30 |