[알고리즘]1152번 단어의 개수 - 백준 온라인 저지
1152번 단어의 개수 출력하기 - 백준 온라인 저지
이 문제를 보고 간단히 나는 split 함수를 써서 배열의 길이를 출력 하면 될 줄 알았다.
그래서 멍청한 나는 다음과 같이 코딩을 하였다.
import java.util.Scanner;
public class findWord {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String line = scan.nextLine().trim();
String arr[] = line.split(" ");
System.out.println(arr.length);
}
}
하지만 이렇게 코딩을 하면 예를 들어 'A B' 와 같은 테스트 케이스는 단어의 개수인 2 를 반환하지 못하고 공백의 개수까지 같이 출력하게 된다.
그래서 이를 해결하기 위해 split 함수를 배열에 담고, 그 배열의 길이를 갖고 있는 count 변수를 둔 다음, 반복문을 돌리면서 만약
배열의 값이 0 일경우(공백일 경우)에는 count 변수에서 1씩 빼주면 된다.
다음과 같이 코딩하면 풀 수 있다.
import java.util.Scanner;
public class findWord {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String line = scan.nextLine().trim();
String arr[] = line.split(" ");
int count = arr.length;
for(int i = 0; i<arr.length; i++) {
if(arr[i].length() == 0) {
count--;
}
}
System.out.println(count);
}
}