tlqhfrm   2년 전

인정되는 정답은 검색해서 찾아보았습니다.

아래 소스 코드는 제가 작성해본 것인데 예제 이외에도 여러 번 출력해봐도 맞는데 틀렸다고 나옵니다.

제가 놓친 부분이 있을까요?

sweetlulu486   2년 전

처음 단어를 만났을때 카운트를 세셔요

diluny   2년 전

제 생각엔 elif 때문입니다. 

문제를 보면 입력의 맨 앞과 맨 뒤에 동시에 공백이 올 수 있는데, 

그 경우 elif 때문에 blank는 2여야 하나 1이 됩니다.

n = list(input())
blank = 0

if n[0] == " ":
    blank += 1
if n[len(n) - 1] == " ":
    blank += 1

print(n)
print(n.count(" "))
print(blank)
print(n.count(" ") - blank + 1)

elif를 if로 바꿔주면 올바르게 동작하는 것으로 보입니다.

문제를 틀렸을 땐 반례를 최대한 생각해보고, 정확히 어디가 문제인지 쪼개서 생각해보면 좋습니다.

tlqhfrm   2년 전

감사합니다. 반례를 해본다고 했는데 많이 안해본거 같네요.

댓글을 작성하려면 로그인해야 합니다.