-
[programmers] 체육복Algorithm/java tip 2021. 3. 6. 15:48
programmers.co.kr/learn/courses/30/lessons/42862
import java.util.*; class Solution { public int solution(int n, int[] lost, int[] reserve) { Set<Integer> reserveSet = new HashSet<>(); Set<Integer> lostSet = new HashSet<>(); for(int r : reserve) { reserveSet.add(r); } for(int l : lost) { if(reserveSet.contains(l)) { reserveSet.remove(l); } else { lostSet.add(l); } } List<Integer> temp = new ArrayList<>(lostSet); for(int l : temp) { if(reserveSet.contains(l - 1)) { // 앞사람에게 빌린다. lostSet.remove(l); reserveSet.remove(l - 1); } else if(reserveSet.contains(l + 1)) { // 뒷사람에게 빌린다. lostSet.remove(l); reserveSet.remove(l + 1); } } return n - lostSet.size(); } }
'Algorithm > java tip' 카테고리의 다른 글
[programmers] 가장 먼 노드 (0) 2021.03.06 [programmers] 큰 수 만들기 (0) 2021.03.06 [programmers] 이중 우선순위 큐 (0) 2021.03.06 [programmers] 더 맵게(heap) (0) 2021.03.06 [programmers] 소수 찾기 (0) 2021.03.05