trim()으로 공백을 제거한 후 풀어보았는데 계속 '틀렸습니다'가 떴다.
import java.util.Scanner;
class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
String str = sc.nextLine().trim();
String data[] = str.split(" ");
System.out.println(data.length);
}
}
질문을 보니 공백을 입력해 보라고 해서 공백을 입력해 보니 계속 1이 나와서 틀린 걸 알았다.
trim()으로 양쪽의 공백을 제거한 후 공백을 기준으로 문자열에 나누어 저장하였다.
split(" ")는 문자열을 공백 기준으로 나누기 때문에, 입력이 공백만 있다면 빈 문자열이 생성된다.
따라서 문자열이 비어있다면 if문 안의 0을 출력하고, 문자열이 비어있지 않다면 나누어진 배열의 길이를 출력해 단어의 개수를 나타낸다.
⬇️⬇️⬇️⬇️⬇️ 정답 ⬇️⬇️⬇️⬇️⬇️
import java.util.Scanner;
class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
String str = sc.nextLine().trim();
String data[] = str.split(" ");
if(str.isEmpty()) {
System.out.println(0);
} else {
System.out.println(data.length);
}
}
}
[혹시 잘못된 정보가 있다면 댓글로 남겨주시면 감사하겠습니다. ☺️]
'CodingTest' 카테고리의 다른 글
[백준 2941] 크로아티아 알파벳 - JAVA (0) | 2024.12.01 |
---|---|
[SQL] 코딩테스트 연습 SQL #1 (0) | 2024.11.23 |
[JAVA] 코딩테스트 연습 문자열 #1 (0) | 2024.11.17 |