📝 문제
🔑 풀이 과정
처음엔 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 |
댓글