0524 코테 - 1152(단어의 개수)

한장민·2022년 5월 24일
0
post-thumbnail

백준 1152번

countTokens()라는 메소드를 모르고 짠 코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;


public class Main {

	public static void main(String[] args) throws IOException {
		
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

		String str = br.readLine();
		StringTokenizer st = new StringTokenizer(str, " ");
		int i = 0;
		while(st.hasMoreTokens()) {
			System.out.println(st.nextToken());
			i++;
		}
		System.out.println(i);
	}
}

hasMoreTokens를 이용해 i를 1씩 증가시키면서 단어들의 갯수를 세려고 했지만 마음먹은대로 코드가 실행되지 않았다. 저렇게 while문 안에 출력문이 있으면 i가 카운트되지만 출력문이 사라지면 while문이 무한반복되었다. 출력을 해야 토큰을 나누는건지.. 아직 잘 모르겠다

이건 countTokens()를 알고 난 뒤의 코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;


public class Main {

	public static void main(String[] args) throws IOException {
		
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

		String str = br.readLine();
		StringTokenizer st = new StringTokenizer(str, " ");
		System.out.println(st.countTokens());
	}
}

역시 간편하다. 아직 모르는 메소드가 많다. 사용법을 더 익혀야겠다.

profile
HAAN YJGB

0개의 댓글