본문 바로가기

프로그래머스

프로그래머스 LV 2 롤케이크 자르기

728x90
from collections import Counter

def solution(topping):
    answer = 0;
    dict = Counter(topping);
    set_dict = set();
    for i in topping :
        dict[i] -= 1;
        set_dict.add(i);
        if dict[i] == 0 :
            dict.pop(i);
        if len(dict) == len(set_dict) :
            answer += 1;
    return answer

풀이 및 회고

1. Counter 를 사용해 처음 토핑 개수를 구한다. (철수)

2. set() 자료구조를 선언해 동생 토핑개수도 구한다.

3. 반복문을 통해 토핑을 한개씩 빼고 동생 set에 넣어줍니다.

4. 철수 토핑에서 0개가 되면 없애줍니다.

5. 서로 길이가 같으면 +1 을 합니다.

728x90