230601 롤케이크 자르기

Jongleee·2023년 6월 1일
0

TIL

목록 보기
274/737
public int solution(int[] topping) {
    Map<Integer, Integer> map = new HashMap<>();
    Set<Integer> compare = new HashSet<>();
    int answer = 0;

    for (int i = 0; i < topping.length; i++) {
        if (map.containsKey(topping[i])) {
            map.put(topping[i], map.get(topping[i]) + 1);
        } else {
            map.put(topping[i], 1);
        }
    }

    for (int i = 0; i < topping.length; i++) {
        map.put(topping[i], map.get(topping[i]) - 1);
        compare.add(topping[i]);

        if (map.get(topping[i]) == 0) {
            map.remove(topping[i]);
        }

        if (compare.size() == map.size()) {
            answer++;
        }
    }

    return answer;
}

출처:https://school.programmers.co.kr/learn/courses/30/lessons/132265

0개의 댓글