최대 1 분 소요

[백준 1152번] 단어의 개수

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package _1월_4주차;
 
import java.util.Scanner;
public class 백준_손수경_정답_1152 {
 
    public static void main(String[] args) {
 
        Scanner sc = new Scanner(System.in);
        String[] text = sc.nextLine().split(" ");
        int cnt = text.length;
        
        if (cnt > 0 && text[0== "") {
            cnt--;
        }
        
        System.out.println(cnt);
    }
 
}
 
cs

문자열을 입력받자마자 .split 매서드를 통해서 공백을 기준으로 쪼개어 준다. 그런 다음 처음과 끝에 공백이 올 수 있다고 하였지만 nextLine은 뒤에 공백과 줄 바꿈까지는 입력으로 들어가지는 않았다. 따라서 처음 공백만 처리해주면 된다. 처리해주는 방법은 만약에 처음에 빈 요소라면 cnt 에서 1을 빼주었다. 그리고 채점 결과 런타임 에러가 발생하여서 봤더니 공백 문자만 입력되었을 경우, OutOfIndex에러가 발생하였다. 따라서 cnt가 0보다 클 때만 if문이 성립함을 알 수 있으므로 조건을 위와 같이 한 것이다.

댓글남기기