jhwan818   4년 전

배열을 쓰기 싫어서 getchar()함수로 문제를 풀어보려고 했습니다.

1)번 반복문의 경우 입력받은 문자가 공백이 아닐 경우. 단어 카운트를 증가시키고 공백이 나올때까지 다음 입력 버퍼를 불러들이는 식으로 했습니다.

입력 버퍼가 동나면 반복문도 탈출하게끔 만들었고요. 근데 그렇게 하니 틀렸습니다 라고 나왔습니다.

어딘가 삐져나와서 그랬겠지 라는 생각에 조건문을 더 촘촘하게 만들어서 2)번 반복문에서는 입력받은 문자가 a~z 또는 A~Z일때 단어 카운트를 증가시키고 공백이 나올때까지 다음 입력 버퍼를 불러들이는 식으로 했습니다. 이부분은 위랑 똑같죠.

이렇게 하니 맞았습니다 라고 나왔구요.

--

제가 궁굼한건 어째서 1)번 반복문으로 했을때는 틀렸습니다 가 나왔을까요?

snall708   3년 전

입력 예시를 잘 보시면 단어 앞과 맨뒤에 공백이 하나씩 존재합니다. 따라서 공백으로 단어 개수를 카운트 하는 경우 문제가 발생합니다. 근사해법이 아닌 실제 해법으로 구해야지만 답이 구해집니다.

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