새발블로그

[백준/Java] 1152 단어의 개수 본문

Problem Solving/Baekjoon

[백준/Java] 1152 단어의 개수

EUG 2025. 3. 23. 18:37

문제

https://www.acmicpc.net/problem/1152

 

풀이방법

1. 처음 생각 공백을 기준으로 단어를 배열에 저장하고, 이 배열의 길이를 반환한다

문제:  공백이 있으면 공백도 단어로 카운트한다.

=> 해결 : trim()을 통해 앞 뒤 공백을 없애준다.

문제: 연속된 공백은?

=> regex를 " " 에서 "\\s+"로 변경해 연속된 공백을 처리할 수 있게 해주었다.

 

문제: 빈 문자열이 입력되었을 때도 단어로 카운트 한다

=> 조건문을 통해 해당 조건을 카운트 하지 않도록 바꿔주었다.

 

풀이

import java.io.*;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) throws IOException {
        Scanner sc = new Scanner(System.in);
        String statement = sc.nextLine().trim();
        if (statement.isEmpty()) {
            System.out.println(0);
        } else {
            String[] words = statement.split("\\s+");
            System.out.println(words.length);
        }
    }
}

 

'Problem Solving > Baekjoon' 카테고리의 다른 글

[백준/Java] 4949 균형잡힌 세상  (0) 2025.03.30
[백준/Java] 1541 잃어버린 괄호  (1) 2025.03.26
[백준/Java] 1157 단어 공부  (1) 2025.03.24
[백준/Java] 1032 명령 프롬프트  (0) 2025.03.23
[백준/C++] 1008번  (0) 2024.03.04