이 문제는 입력된 문장에 포함된 단어가 몇 개인지 맞추는 문제다.
이 문제도 생각해보면 막막할 수 있는데,
코드줄이 굉장히 짧을 정도로 쉽다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
Scanner sc = new Scanner(System.in);
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine()," ");
System.out.println(st.countTokens());
}
}
|
cs |
* StringTokenizer
: 문자열을 토큰으로 나눌 수 있는 클래스
: 식별자, 숫자, 인용된 문자열을 구분없이 인식할 수 있다.
나는 토큰을 공백으로 구분할 수 있도록
new StringTokenizer(br.readLine()," "); 를 써주었고
countTokens를 통해 공백으로 구분된 토큰이 몇 개인지 출력해주었다.
만약,
모든 토큰을 출력하고 싶다면
StringTokenizer 클래스의 hashMoreTokens() 메소드와
nextToken() 메소드를 사용해주면 된다.
while(st.hashMoreTokens){
system.out.println(st.nextTokens());
}
만약 다음 토큰이 존재한다면 (=true)
while문이 돌면서 계속적으로 출력해주게 된다.
반복문을 설정해주지 않는다면 일회성으로 끝나기 때문에
모든 토큰을 출력해낼 수 없다.
'Etc > 백준(JAVA) 문제풀이' 카테고리의 다른 글
[백준] 2753번 Java 문제풀이 (0) | 2021.01.07 |
---|---|
[백준] 9498번 Java 문제풀이 (0) | 2021.01.07 |
[백준] 1001번 Java 문제풀이 (0) | 2021.01.07 |
[백준] 11022번 Java문제풀이 (0) | 2020.11.16 |
[백준] 10952번 Java 문제풀이 (0) | 2020.11.16 |
댓글