20210116 // BaekJoon Online Judge // 1152

2021. 1. 16. 15:57Programming/BOJ

백준 알고리즘 BaekJoon Online Judge 1152번 "단어의 개수" 문제입니다.

S = input()
state = False
word = 0
for ele in S:
  if ele == " ":
    if state:
      state = False
  else:
    if state == False:
      word += 1
      state = True
print(word)

단어의 개수를 출력하는 문제다. 여기서 단어의 정의는 공백과 공백사이의 문자열을 뜻한다.

 

공백에 들어온 상태와 공백에 들어오지 않은 상태 둘로 나누어서 현재 문자가 공백이고 공백 상태가 아니라면 방금 막 문자열에서 나온 상태이므로 공백의 상태로 바꾸고

 

현재 문자가 공백이 아니고 공백 상태라면 방금 문자열로 들어온 상태이므로 문자열 갯수 +1을 해준다.

 

사실 이렇게 어렵게 안해도 된다.

 

print(len(input().split()))

 

위처럼 쓰면 받은 문자열을 공백을 단위로 나누어서 리스트로 저장한다. 그 후의 리스트의 길이를 구하면 그것이 단어의 개수다.