algorithm/Structures

[백준22233/실버3] 가희와 키워드 - Python

ayeongjin 2025. 1. 28. 00:39

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

 

자꾸 시간초과나서 sys 추가해줬더니 결과 값이 달라졌다.

그래서 왜 그런가 했더니 input은 자동으로 줄바꿈을 지워주는데 sys.stdin.readline은 모든 줄을 한번에 입력받기 때문에 줄바꿈을 포함해서 입력 끝에 \n이 포함된다.

['map', 'dijkstra\n'] 이런식으로 출력됨

 

그래서 rstrip메서드를 사용하여 입력을 명확하게 구분했다.

 

💡 rstrip()
입력 오른쪽에 있는 공백이나 줄바꿈을 지워준다.
괄호 안에 특정 문자열을 넣을 경우 입력 오른쪽에 붙은 그 문자열을 다 지워준다.
lsrtip()은 왼쪽 문자열 지워줌

 

 

# 성공 코드

# sys.stdin.readline은 줄바꿈을 포함해서 입력 받기 때문에 /n이 포함되어 값이 달라짐
# rstip 메서드 적용 : 입력 뒤에 있는 공백이나 줄바꿈을 다 지워줌

import sys
input = sys.stdin.readline

N, M = map(int, input().rstrip().split())  # 메모장에 적은 키워드, 블로그에 쓴 글의 수
memo = dict()
result = N

for _ in range(N):
    word = input().rstrip()
    if word not in memo:
        memo[word] = True

for _ in range(M):
    keywords = list(input().rstrip().split(','))

    for keyword in keywords:
        if keyword in memo and memo[keyword]:
            memo[keyword] = False
            result -= 1

    print(result)