영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열에는 몇 개의 단어가 있을까? 이를 구하는 프로그램을 작성하시오. 단, 한 단어가 여러 번 등장하면 등장한 횟수만큼 모두 세어야 한다.
첫째 줄에 단어의 개수를 출력한다.
1.입력한 문자열의 양쪽 공백을 제거한다
(제거를 하지 않으면 공백도 단어로 포함이 돼 틀릴 수 있기 때문)
2.split을 이용해 공백 단위로 잘라 배열에 저장
3.배열의 크기 출력
*주의사항
공백만 입력이 되면 단어가 없기 때문에 조건을 해줘야 한다.
코드
import java.util.Scanner;
public class bj_1152 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
String str = sc.nextLine().trim();
int count = 0;
//공백처리를 안해주면 단어가 있는걸로 판단해
//틀렸다고 나온다
//공백만 있고 단어가 없으면 0
if(str.isEmpty()) {
System.out.print("0");
}
else {
String [] result = str.split(" ");
System.out.print(result.length);
}
}
}