본문 바로가기
백준 문제 풀이/문자열

(#1152 Java) 단어의 개수

by _비니_ 2023. 8. 27.
문제

 

 

문제 이해

 

문제 이해.. 는 생략도 가능. 그냥 공백을 기준으로 단어 개수 세어서 출력해주는 문제 !!

 

문제 해결

 

이 문제를 진짜 쉽고 간편하게 해결할 수 있는 방법이 있는데,

바로 StringTokenizer, countTokens의 사용이다. (import java.util.StringTokenizer; 필요)

 

StringTokenizer 클래스란?

  • 생성자의 첫 번째 인자로 문자열을 적어주고, 두 번째 인자로 구분자를 지정해주면, 구분자로 문자열을 분리해준다.(구분자를 지정해주지 않으면, 디폴트 값인 공백이 구분자가 된다)

countTokens

  • 토큰의 개수를 반환해준다.

이 둘을 이용하면 쉽게 문제를 해결할 수 있다.

 

먼저 문자열을 입력 받고, StringTokenizer 을 이용해 공백으로 문자열을 분리해준다.

Scanner in = new Scanner(System.in);

String S = in.nextLine();

StringTokenizer st = new StringTokenizer(S," "); //공백으로 토큰 구분

 

구분된 토큰들이 저장돼있는 st에서 countTokens 를 이용해 토큰의 개수 반환해주면 끝!

 

System.out.println(st.countTokens());

 

최종 코드 

 

import java.util.Scanner;
import java.util.StringTokenizer;
 
public class Main {
 
	public static void main(String[] args) {
    
		Scanner in = new Scanner(System.in);
 
		String S = in.nextLine();
		
		StringTokenizer st = new StringTokenizer(S," ");
		
		System.out.println(st.countTokens());	
		
	}
 
}
반응형

'백준 문제 풀이 > 문자열' 카테고리의 다른 글

(#5622 Java) 다이얼  (0) 2023.08.28
(#2908 Java) 상수  (0) 2023.08.27
(#2675 Java) 문자열 반복  (0) 2023.08.27
(#10809 Java) 알파벳 찾기★  (0) 2023.08.26
(#11720 Java) 숫자의 합  (0) 2023.08.18