backjeon/Bronze

Baekjoon(백준) - 2743 (단어 길이 재기) | Python

SecLogs YJ 2026. 3. 9. 08:23
import sys

word = sys.stdin.readline().strip()
print(len(word))

 

sts.stdin.readline() 사용 시 반드시 .strip()을 붙여야 하는 이유

1. '\n' 개행문자

sys.stdin.readline()은 이름 그대로 한 줄을 통째로 읽어온다.

이때 사용자가 입력을 마차기 위해 누른 엔터(Enter) 키 값인 줄바꿈 문자(\n)까지 포함하여 변수에 저장한다.

 

예) Hello 입력시

  • input() : 'Hello' (5글자)
  • sys.stdin.readline() : 'Hello\n' (6글자)

 

2. .strip()이 필요한 이유

위 예시처럼 줄 바꿈 문자가 포함되면 다음과 같은 문제가 발생한다.

  • len(word) 출력 시 실제 글자 수 보다 1이 크게 나온다.
  • 문자열을 비교할 때 if word == "Hello" : 의 결과가 False가 된다.

따라서 문자열 양끝의 공백과 줄바꿈 문자를 제거해주는 .strip() 혹은 오른쪽만 제거하는 .rstrip()을 습관적으로 붙여주는 것이 좋다.

 

3. input() vs sys.stdin.readline()

특징 input() sys.stdin.readline()
속도 상대적으로 느림 매우 빠름(대량 입력이 유리)
줄바꿈 자동으로 제거함 포함해서 읽어옴
프롬프트 input("입력하세요")처럼 안내 문구 가능 안내 문구 출력 불가

 


🧐 sys.stdin.readline()시 strip() 사용을 습관화하자

👉 Baekjoon(백준) - 2743 (단어 길이 재기)