728x90
반응형
1. 문제 설명
2. 풀이과정
해당 문제는 채팅방에서 곰곰티콘이 사용된 횟수를 구하는 문제이다.
한 채팅방에서 채팅을 입력한 유저를 한 세트에 저장한다.
여기서 유저의 이름을 세트에 저장하는 이유는 새로운 사람이 들어오기 전까지는 원래 있던 사람들끼리 채팅을 하는 것이므로 한 명당 한 번의 곰곰티콘을 사용하고, 이후 채팅은 그냥 일반 채팅이기 때문이다.
이후 ENTER가 입력되고 새로운 사람이 들어오면 새롭게 곰곰티콘을 사용할 수 있다.
하여 ENTER가 입력되면 기존에 곰곰티콘을 사용한 유저의 기록에서 유저의 수를 곰곰티콘 사용 횟수에 추가하고, 유저의 기록을 초기화하여 새롭게 곰곰티콘을 사용한 유저를 기록한다.
- sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys
- 채팅방의 기록 수를 입력받는다. N = int(sys.stdin.readline())
- 채팅을 입력한 유저의 닉네임을 저장할 세트를 생성한다. s = set()
- 전체 곰곰티콘이 사용된 횟수를 저장할 변수를 생성하고 초기화한다. result = 0
- 채팅방의 기록 수만큼 반복하며 for _ in range(N)
- 문자열을 입력받는다. st = sys.stdin.readline().rstrip()
- 만약 입력받은 문자열이 ENTER이면 if (st == 'ENTER')
- 이전 채팅방에 채팅을 입력한 유저의 수를 곰곰티콘이 사용된 횟수에 추가한다. result += len(s)
- 채팅방에 새로운 사람이 들어왔으므로 채팅방에 채팅을 입력한 유저의 닉네임을 초기화한다. s = set()
- 반면 입력받은 문자열이 ENTER이 아니라 유저의 닉네임이라면 else
- 채팅을 입력한 유저의 닉네임을 세트에 추가한다. s.add(st)
- 모든 입력이 끝나고 반복문을 나오면 마지막으로 현재 유저의 수를 곰곰티콘이 사용된 횟수에 추가하고 result += len(s)
- 전체 곰곰티콘이 사용된 횟수를 출력한다. print(result)
반응형
3. 소스코드
import sys
N = int(sys.stdin.readline())
s = set()
result = 0
for _ in range(N):
st = sys.stdin.readline().rstrip()
if (st == 'ENTER'):
result += len(s)
s = set()
else:
s.add(st)
result += len(s)
print(result)
728x90
반응형
'백준' 카테고리의 다른 글
[백준] 25501번 : 재귀의 귀재 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.12.13 |
---|---|
[백준] 20920번 : 영단어 암기는 괴로워 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.12.12 |
[백준] 2108번 : 통계학 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.12.11 |
[백준] 26069번 : 붙임성 좋은 총총이 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.12.10 |
[백준] 1037번 : 약수 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.12.08 |
[백준] 24511번 : queuestack - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.12.07 |
[백준] 2346번 : 풍선 터뜨리기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.12.06 |
[백준] 28279번 : 덱 2 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.12.05 |