728x90
반응형
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String a = scanner.nextLine();
if (a.replaceAll(" ","").isEmpty()){
System.out.println("0");
} else {
String[] b = a.trim().split(" ");
System.out.println(b.length);
}
}
}
문제점 : 공백만 넣었을 때 단어의 개수가 0이 나와야하는데, 공백을 문자로 취급해 단어의 개수가 1로 나온다.
if (a.replaceAll(" ","").isEmpty())
-> 만약 입력된 a의 모든 공백을 ""로 바꾸었을 때(= replaceAll(" ","") ) null이 나오면(= isEmpty()) 0을 출력한다.
else
-> 아니면 a의 앞 뒤 공백을 제거 한 뒤(= trim) 단어 사이의 모든 공백을 제거(= split(" "))한다. 이를 b라는 배열에 넣고 b의 길이를 출력한다.
728x90
반응형
'백준' 카테고리의 다른 글
[JAVA] 백준 1330번 두 수 비교하기 (0) | 2023.02.17 |
---|---|
[JAVA] 백준 1271번 엄청난 부자2 (0) | 2023.02.17 |
[JAVA] 백준 1008번 A/B (0) | 2023.02.14 |
[JAVA] 백준 1001번 A-B (0) | 2023.02.14 |
[JAVA] 백준 1000번 A+B (0) | 2023.02.14 |