새발블로그
[백준/Java] 1152 단어의 개수 본문
문제
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 |