본문 바로가기
BOJ/[BOJ] Python

백준 1152번 풀이

by Lv. 35 라이츄 2022. 8. 18.

문제

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

 

1152번: 단어의 개수

첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열

www.acmicpc.net

어떤 문장에서 단어가 몇 개인지를 세는 문제. 즉

전격은 10만볼트에 이르기도 해서 잘못 만지면 인도 코끼리라도 기절한다.

이 문장은 9글자다. 근데 이 문제… 부비트랩 있다…

 

풀이

import sys
a=sys.stdin.readline().strip()
a=a.split(" ")
print(len(a))

마! 그럼 단어와 단어 사이는 문장으로 나누니까 공백으로 나누면 되제! 하고 이래 냈다가 당신을 맞는 문장은 ‘틀렸습니다’가 된다. 문제에 부비트랩이 숨어있기 때문.

첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열은 공백으로 시작하거나 끝날 수 있다.

입력란에 이렇게 쓰여있다. split(” “)은 공백을 하나만 날리기때문에, 공백으로 입력하게 되면 그걸 단어로 처리해버리는 문제가 있다. 그래서

import sys
a=sys.stdin.readline().strip()
a=a.split()
print(len(a))

그래서 split()을 줘야 한다. split()은 공백이 몇 개건 po분리wer이 가능하기 때문.

'BOJ > [BOJ] Python' 카테고리의 다른 글

백준 5622번 풀이  (0) 2022.08.18
백준 2908번 풀이  (0) 2022.08.18
백준 10809번 풀이  (0) 2022.08.18
백준 11720번 풀이  (0) 2022.08.18
백준 1065번 풀이  (0) 2022.08.18

최근댓글

최근글

skin by © 2024 ttutta