티스토리 뷰
반응형
문제
1152번: 단어의 개수
첫 줄에 영어 대소문자와 띄어쓰기로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 띄어쓰기 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 �
www.acmicpc.net
풀이
처음 시도에는 띄어쓰기(" ") 개수를 모두 센 후, 1을 더해 단어의 수를 구하려했다.
그리고 문자의 맨 앞(str[0])과 맨 뒤(str[-1])에 공백이 있는지 확인을 해서
있으면 띄어쓰기 수에 반영해주면 되겠지 하고 간단하게 생각을 했는데 자꾸 다른 값이 나왔다
import sys
sentence = sys.stdin.readline()
count = sentence.count(" ")
if sentence[0] == " ":
count -= 1
if sentence[-1] == " ":
count -= 1
print(count + 1)
분명 눈에 보이는 잘못이 없는데 안되길래 아스키로 찍어보니 공백을 " "으로 인식하지 않는 공백도 있다는걸 알게 됐다
파란색 '공백문자'에 해당하는 부분은 다 공백으로 찍히나보다.. 아직 그 차이는 잘 모르겠음
# 첫 문자가 공백일 경우
if ord(sen[0]) < 33 or ord(sen[0]) > 126:
count -= 1
# 마지막 문자가 공백일 경우
if ord(sen[-1]) < 33 or ord(sen[-1]) > 126:
if ord(sen[-1]) != 10:
count -= 1
어쨌거나 그래서 아스키코드표 따라서 공백 범위를 지정해줬는데도 문제가 있길래
문자열의 모든 문자들을 아스키로 찍어봤다.. 그리고 이유를 알 수 있었다
나는 맨 뒤(str[-1])만 고려를 했는데 그 앞에도 안보이는 공백들이 숨어있었던것!!!!!
근데 중요한건
이런거 안 세고 바로 풀 수 있는 간단한 방법이 있다는것..
a = input().split()
print(len(a))
왜 애초에 이렇게 할 생각을 못했지 ........ 머ㅓ쓱
+)
제출 수가 10만개인거만 봐도 다른사람들도 어 뭐지 왜 틀린거 없는데 틀리지 ㅌㅋㅋㅋㅋ 하고 자꾸 제출했다는걸 볼 수 있는 문제
반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 백준
- counting sort
- 안드로이드 키해시
- TextFormField keyboard
- 데이터바인딩 뷰바인딩 차이
- 코틀린
- flutter simultor
- kotlin fragment
- Kotlin
- 투포인터 알고리즘 파이썬
- 백준알고리즘
- 백준 2003
- 카카오 기출
- 코틀린 바텀네비게이션
- 투포인터 알고리즘
- 카카오 키해시
- 프로그래머스
- 백준 1806
- 코틀린 데이터바인딩
- 코틀린 뷰페이저
- 코틀린 뷰바인딩
- 안드로이드 카카오톡으로 로그인
- 코틀린 리스트뷰
- 백준 1644
- 시뮬레이터 키보드
- 카카오톡으로 로그인 오류
- 안드로이드
- 파이썬 최대공약수
- 소수 구하기 파이썬
- 전화번호목록 파이썬
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
글 보관함