코딩테스트 문제집/Programmers(Lv2)
[Programmers] Lv2: 롤케이크 자르기(132265)
cogito30
2025. 2. 12. 20:17
반응형
문제
- 링크: https://school.programmers.co.kr/learn/courses/30/lessons/132265?language=java
풀이
더보기
import java.util.*;
class Solution {
public int solution(int[] topping) {
int answer = 0;
HashMap<Integer, Integer> toppingCount = new HashMap<>();
for (int i = 0; i < topping.length; ++i) {
toppingCount.put(topping[i], toppingCount.getOrDefault(topping[i], 0) + 1);
}
HashSet<Integer> toppingChulsu = new HashSet<>();
for (int i = 0; i < topping.length; ++i) {
toppingChulsu.add(topping[i]);
toppingCount.put(topping[i], toppingCount.getOrDefault(topping[i], 0) - 1);
if (toppingCount.get(topping[i]) == 0) {
toppingCount.remove(topping[i]);
}
if (toppingChulsu.size() == toppingCount.size()) {
answer += 1;
}
}
return answer;
}
}
반응형