백준 25192번: 인사성 밝은 곰곰이 python

kimminjunnn·2025년 4월 18일

알고리즘

목록 보기
31/311

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

문제

ENTER라는 문자열 후에 나오는 문자열 개수를 셀건데. 최초의 한번만 세라.
그리고 만약 ENTER라는 문자열이 또 나온다면, 또 최초의 한번만 세기.

세어진 개수 출력하는 문제!

접근 방식

중복을 세지 않는 경우가 있으니 set 자료형을 이용하면 좋을것이라 생각했다.
한 집합 자료형을 선언하고, ENTER이외에 문자열이 입력되면, 집합 자료형에 추가하고, ENTER라는 문자열이 입력 되면, 해당 집합의 담긴 원소의 개수를 result로 옮겨주고, 집합의 원소를 초기화 시켜주는 방법을 고안했다.

나의 해답

import sys

N = int(sys.stdin.readline())

unknown_set = set()
result = 0

for _ in range(N):
    line = sys.stdin.readline().strip()

    if line == "ENTER": //ENTER을 입력 받으면 집합 자료형의 개수를 result로 옮겨주고 집합을 비워준다.
        result += len(unknown_set)
        unknown_set.clear()
    else:
        unknown_set.add(line) //ENTER가 아니라면 입력받은 값을 set자료형에 넣어준다.

result += len(unknown_set) // 해당 줄은 ENTER가 마지막줄에 없을 때 집합 자료형의 개수를 result로 옮겨준다.

print(result)
profile
Frontend Engineers

0개의 댓글