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
'Coding Test > BaekJoon_Python' 카테고리의 다른 글
백준 16139 <인간-컴퓨터 상호작용> Python (0) | 2023.11.28 |
---|---|
백준 9663 <N-Queen> Python (0) | 2023.11.27 |
백준 7785 <회사에 있는 사람> Python (0) | 2023.11.25 |
백준 13414 <수강신청> Python (1) | 2023.11.25 |
백준 20057 <마법사 상어와 토네이도> Python (0) | 2023.11.24 |