728x90
반응형

인사성 밝은 곰곰이 

 
시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 1024 MB 14261 6369 5395 46.787%

문제

 

알고리즘 입문방 오픈 채팅방에서는 새로운 분들이 입장을 할 때마다 곰곰티콘을 사용해 인사를 한다. 이를 본 문자열 킬러 임스는 채팅방의 기록을 수집해 그 중 곰곰티콘이 사용된 횟수를 구해 보기로 했다.

ENTER는 새로운 사람이 채팅방에 입장했음을 나타낸다. 그 외는 채팅을 입력한 유저의 닉네임을 나타낸다. 닉네임은 숫자 또는 영문 대소문자로 구성되어 있다.

새로운 사람이 입장한 이후 처음 채팅을 입력하는 사람은 반드시 곰곰티콘으로 인사를 한다. 그 외의 기록은 곰곰티콘을 쓰지 않은 평범한 채팅 기록이다.

채팅 기록 중 곰곰티콘이 사용된 횟수를 구해보자!

입력

첫 번째 줄에는 채팅방의 기록 수를 나타내는 정수 � 이 주어진다. (1≤�≤100000)

두 번째 줄부터  개의 줄에 걸쳐 새로운 사람의 입장을 나타내는 ENTER, 혹은 채팅을 입력한 유저의 닉네임이 문자열로 주어진다. (문자열길이1≤문자열 길이≤20)

첫 번째 주어지는 문자열은 무조건 ENTER이다.

출력

채팅 기록 중 곰곰티콘이 사용된 횟수를 출력하시오.

예제 입력 1 복사

9
ENTER
pjshwa
chansol
chogahui05
lms0806
pichulia
r4pidstart
swoon
tony9402

예제 출력 1 복사

8


정리하자면

'ENTER' 가 입력되고나서 중복되지 않은 닉네임의 개수를 세면 된다.

'ENTER' 가 다시  입력되면 중복리스트를 제거한다.

 

파이썬에서 중복을 제거하는 가장 쉬운 방법이 set 을 사용하는 것이라고 한다.

n= int(input())

cnt = 0
mem = set()
for _ in range(n):
    i = input()
    if i == 'ENTER':
        mem.clear()
    else :
        if i not in mem:
            cnt+=1
        mem.add(i)
print(cnt)

 

입력 받은 n번 동안

i를 입력 받는데,

i 가 'ENTER'면 set을 초기화한다.

i가 닉네임이면 cnt+=1 연산하고, set에 추가한다. 중복은 자동으로 걸러져서 따로 생각할 필요가 없다

 

반응형

+ Recent posts