본문 바로가기
PS/Baekjoon

[Baekjoon] 1152 - 단어의 개수

by 서현 SEOHYEON 2022. 12. 27.

📝 문제

 

 

🔑 풀이 과정

처음엔 String클래스의 split()을 사용해서 작성했다.

그러나 split()을 사용할 경우 문자열이 공백으로 시작하는 경우(예제2)에는 답이 오류난다.

 

* split() 관련

입력받은 문자열을 주어진 구분자를 기준으로 앞 뒤로 나눔

빈 문자열("")과 null은 다르다.

표현식이 입력에서 매칭되지 않으면, 반환되는 값은 입력받은 문자열. → 개수는 1개가 나옴

 

그래서 그냥 StringTokenizer의 countTokens()를 사용했다.

StringTokenizer는 구분자를 지정하지 않으면 디폴트로 공백(정확히는 space, tab, newline)을 사용한다.

 

 

 

🔓 답안

import java.io.*;
import java.util.StringTokenizer;

public class Main {

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        StringTokenizer st = new StringTokenizer(br.readLine());

        bw.write(st.countTokens() + "\n");
        bw.flush();
        bw.close();
    }

}

'PS > Baekjoon' 카테고리의 다른 글

[Baekjoon] 2577 - 숫자의 개수  (0) 2022.12.29
[Baekjoon] 1157 - 단어 공부  (0) 2022.12.28
[Baekjoon] 10870 - 피보나치 수 5  (0) 2022.12.26
[Baekjoon] 2439 - 별 찍기 - 2  (0) 2022.12.25
[Baekjoon] 25083 - 새싹  (0) 2022.12.24

댓글