본문 바로가기
개발/문제풀이

백준 1152 - 단어의 개수 자바로 풀기

by Devsong26 2017. 11. 19.

- 문제 출처: https://www.acmicpc.net/problem/1152

 

- 해결 방법

주어진 문제의 입력은 공백을 포함한 단어들이 한 줄에 주어지며, 단어의 개수를 파악해야 합니다.

String s = "True Is Fact"라는 문자열이 주어졌다고 가정합니다. 

e를 가리키는 인덱스의 +1한 인덱스의 문자는 공백이며 공백이 단어를 구분해줍니다. 

따라서 if(s.charAt(i)==' '&&s.charAt(i-1)!=' ')의 조건이 참이 될 경우만 단어의 개수를 하나씩 더해줍니다. 

이렇게 더해진 단어의 개수는 맨 마지막의 단어의 개수를 더해주지 않기 때문에 반환할 때는 그 값에 1을 더해줍니다.

 

단, 여기서 문제가 되는 것이 있습니다. 

공백만 입력되는 경우와 공백없이 단어 하나만 입력되는 경우입니다. 

공백만 입력된다면 String.trim() 메소드를 호출하여 String을 저장할 경우 String.length()값이 0이됩니다. 

또한, 공백없이 단어 하나만 입력되는 경우에는 단어의 개수를 저장하는 변수의 값이 0이 되므로 1을 반환합니다. 

 

위의 내용을 코드로 변경하면 아래와 같이 구현됩니다. 

 

이상으로 포스팅을 마칩니다.