Dev/Algorithm

[알고리즘]1152번 단어의 개수 - 백준 온라인 저지

JieunJieun 2018. 5. 20. 00:42

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);

}

}