1152 - 단어의 개수알고리즘/백준2023. 8. 22. 16:07
Table of Contents
공백을 기준으로 단어를 나누어 count한다.
주의할 점은 입력2와 같이 단어 앞에 공백이 들어와있을 경우 count되면 안되기때문에 예외를 생각하고 처리해야한다.
System.in.read()는 입력된 값의 아스키 코드를 가져온다.
예를 들어 str에 4가 입력되면 52를 가져온다.
로직에는 2가지 조건문이 있는데 첫번째로는 공백을 만났을 때이다. 이 때는
str의값이 32이고, 단어 앞 공백을 의미하는 pre_str이 32가 아니라면 count++를 해준다.
(여기서 32는 아스키코드로 공백(스페이스바)을 뜻한다.)
두번째 조건문은 str이 10 즉, Enter를 만났을 때 역시 pre_str이 32가 아니라면 count++를 해준다.
package boj;
import java.io.IOException;
public class b1152 {
public static void main(String[] args) throws IOException{
int count = 0;
int pre_str = 32;
int str;
while(true) {
str = System.in.read();
if(str == 32) {
if(pre_str != 32) count++;
}
else if(str == 10) {
if(pre_str != 32)count++;
break;
}
pre_str =str;
}
System.out.println(count);
}
}
728x90
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 1000 - A+B (0) | 2023.10.12 |
---|---|
[백준] 2557 - Hello World (1) | 2023.10.10 |
2675 - 문자열 반복 (0) | 2023.08.22 |
10809 - 알파벳 찾기 (0) | 2023.08.19 |
11720 - 숫자의 합 (0) | 2023.08.19 |
@leegeonwoo :: geonwoo
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!