본문 바로가기

백준알고리즘

[7단계 문자열 사용하기]1152번

문제

영어 대소문자와 띄어쓰기만으로 이루어진 문장이 주어진다. 이 문장에는 몇 개의 단어가 있을까? 이를 구하는 프로그램을 작성하시오.

입력

첫 줄에 영어 대소문자와 띄어쓰기로 이루어진 문장이 주어진다. 이 문장의 길이는 1,000,000을 넘지 않는다. 단어는 띄어쓰기 한 개로 구분된다.

출력

첫째 줄에 단어의 개수를 출력한다.

예제 입력 

The Curious Case of Benjamin Button

예제 출력 

6





























[소스코드]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import java.util.*;
public class Main {
 
    public static void main(String[] args) {
        Scanner sca = new Scanner(System.in);
        
        String line = sca.nextLine();
        
        char cha[] = new char[line.length()];
        int count=0;
        cha=line.toCharArray();
        
        
        
        String space = " ";
        for(int i =0; i<cha.length; i++){
            if(cha[i]==space.charAt(0)){
                count++;
                
            }
            
            
        }
        count++;
        if(cha[0]==space.charAt(0)){
            count--;
        }
        if(cha[cha.length-1]==space.charAt(0)){
            count--;
        }
        
        System.out.print(count);
        
 
    }
 
 
}
 
 
cs


[풀이]

-띄어쓰기 기준으로 단어수를 카운트한다.

-단 맨앞과 맨뒤의 문자가 스페이스이면 카운트를 하지 않아야한다.