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() 사용을 습관화하자
'backjeon > Bronze' 카테고리의 다른 글
| Baekjoon(백준) - 3003 (킹, 퀸, 룩, 비숍, 나이트, 폰) | Python (0) | 2026.03.11 |
|---|---|
| Baekjoon(백준) - 10998 (팰린드롬인지 확인하기) | Python (0) | 2026.03.10 |
| Baekjoon(백준) - 10811 (바구니 뒤집기) | Python (0) | 2026.03.08 |
| Baekjoon(백준) - 5597 (과제 안 내신 분..?) | Python (0) | 2026.03.07 |
| Baekjoon(백준) - 10813 (공 바꾸기) | Python (0) | 2026.03.06 |