문제
문제 이해
문제 이해.. 는 생략도 가능. 그냥 공백을 기준으로 단어 개수 세어서 출력해주는 문제 !!
문제 해결
이 문제를 진짜 쉽고 간편하게 해결할 수 있는 방법이 있는데,
바로 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 |