CS log
[Python] split(), bool() 및 백준 1152 다른 풀이방법 본문
words = input()
only_words = words.split(' ')
sum =0
for i in only_words :
if bool(i) :
sum+=1
print(sum)
split() : 어디서 문자열을 끊을 지 알려주는 것인데, 괄호안에 아무 것도 없으면 공백 단위로 나눈다.
단어를 공백으로 끊어서 여러 개 입력했을때 리스트에 그 단어들이 하나씩 그대로 들어감
그리고 리스트의 길이를 출력하면 단어의 개수가 출력됨
bool() : 참, 즉 단어가 있으면 (blank가 아니면)
더 간단한 풀이
x = list(map(str,input().split()))
print(len(x))
map() 사용법
a = [1.2, 2.5, 3.7, 4.6]
>>> for i in range(len(a)):
... a[i] = int(a[i])
...
>>> a
[1, 2, 3, 4]
for에 range(len(a))를 사용해서 인덱스를 가져왔습니다. 그리고 가져온 인덱스로 요소 하나 하나에 접근한 뒤 int로 변환하여 다시 저장했다. 매번 for 반복문으로 반복하면서 요소를 변환하려니 조금 번거롭다. 이때는 map을 사용하면 편리하다.
>>> a = [1.2, 2.5, 3.7, 4.6]
>>> a = list(map(int, a))
>>> a
[1, 2, 3, 4]
다른 풀이
words = input()
only_words = words.split(' ')
only_words.remove('')
print(len(only_words))
remove() 함수도 사용해보았다.
'CS > Algorithm' 카테고리의 다른 글
[백준/python] 4779번 : 칸토어 집합 (0) | 2024.08.09 |
---|---|
재귀 recursive function (0) | 2024.08.09 |
[백준/python] 1018 체스판 다시 칠하기 (0) | 2024.08.04 |
Big O 복습 (0) | 2024.04.08 |
[Python] 문자 ↔ 아스키코드 변환 (0) | 2024.03.27 |