상세 컨텐츠

본문 제목

JAVA. 백준 알고리즘 단계별 문제 7단계(문제 번호 1152)

공-부/백준 알고리즘

by 사랑짱 2021. 6. 3. 20:05

본문

(문제번호 1152)

문자열에 있는 단어의 개수를 출력하는 프로그램을 작성하시오.

 

문제 해결 포인트

문자열 속에서 문자를 구분하는 공백을이용하여 문자의 개수를 알아내면 된다.

공백과 같은 구분자를 기준으로 문자를 분리하는 방법에는 여러 가지가 있다. 

그 중  split( ) 함수와  StringTokenizer을 사용하여 문제를 풀어봐야겠다.

 

 

문제 해결 과정

첫번째, split 함수 사용하기

1. Scanner을 통해 문자열을 입력받는다. 

2. split 함수를 사용하여 입력받은 문자열을 공백 기준으로 문자로 나눠 배열에 입력한다.

   (regex가 공백인 경우 "  " 또는 "\\s"를 사용한다.)

3.  배열의 길이로 문자의 개수를 출력한다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import java.util.Scanner;
 
 
public class No06 {
 
    
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String str = sc.nextLine();
        
        String[] arr = str.split("\\s");        
        System.out.println(arr.length);    
        
        sc.close();
        
    }    //main
    
}    //class
 
cs

 

 

 


 

두번째, StringTokenizer 사용하기

1. 값을 입력받기 위해 BufferedReader를 생성한다.

2. 입력 받은 값은 StringTokenizer에 입력하여 공백을 기준으로 분리하도록 지정해준다.

   (이때,  StringTokenizer 을 사용하기 위해서는 java.util.StringTokenizer; 을 import 해야한다.)

3. 입력된 Token의 개수를 출력한다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
 
public class No06_2 {
 
    
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        
        StringTokenizer st = new StringTokenizer(br.readLine(), " ");
        System.out.println(st.countTokens());
        
    }    //main
    
}    //End class
cs

 

 

관련글 더보기