Coding Test/BaekJoon_Python

백준 25192 <인사성 밝은 곰곰이> Python

JunOnJuly 2023. 11. 26. 18:34
728x90

https://www.acmicpc.net/problem/25192

 

25192번: 인사성 밝은 곰곰이

첫번째 새로운 사람이 들어온 뒤  pjshwa, chansol, chogahui05은 모두 곰곰티콘으로 인사했다. 두번째 새로운 사람이 들어온 뒤  pjshwa와 chansol은 다시 곰곰티콘으로 인사했다.

www.acmicpc.net


자료구조들의 특성을 잘 이용하면 쉽게 풀 수 있는 문제입니다.


from collections import defaultdict


def solution(N, data_list):
    # enter 횟수
    enter = 0
    # 채팅 기록 dict
    chat_log_dict = defaultdict(int)
    # 임시 기록
    temp_count_set = set()
    # 채팅 기록을 순회하며 카운트
    for idx, data in enumerate(data_list):
        # enter 을 기점으로 기록 카운트 후 기록을 초기화
        if data == 'ENTER':
            for name in list(temp_count_set):
                chat_log_dict[name] += 1
            temp_count_set = set()
        # 일반적인 경우 그냥 데이터 추가
        else:
            temp_count_set.add(data)
    # 순회가 끝나면 기록 카운트
    for name in list(temp_count_set):
        chat_log_dict[name] += 1


    return sum(chat_log_dict.values())


N = int(input())
data_list = [input() for _ in range(N)]
print(solution(N, data_list))

 

728x90