java 공부/java 백준
[단계별로 풀어보기]백준 1152번_단어의 개수
1000씨
2024. 4. 5. 14:44
이 문제는.. 내 생각대로 풀어보려다가 자꾸 틀렸다고 뜨길래 찾아보니 푸는 함수가 따로 있었다.
먼저 문제이다.
영어 문장열이 들어오고 단어의 개수를 세는 것이다.
대신 맨 앞, 맨 끝에도 공백이 있을 수 있다는 것을 명심해야한다.
그래서 난 처음에는 공백의 개수를 세고 맨 앞과 맨 뒤에 있을 수 있는 공백은 세지않기 위하여
인덱스 1부터 length-2까지의 공백 개수를 세어주면 단어의 개수가 나올 것이라 생각했으나
계속 틀려서 찾아보니
StringTokenizer를 사용하여 공백을 기준으로 나뉘는 단어의 개수를 세어주는 것을 알게되었다.
import java.util.Scanner;
import java.util.StringTokenizer;
public class 백준5_8 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
String S = s.nextLine();
StringTokenizer st = new StringTokenizer(S, " ");
s.close();
System.out.println(st.countTokens());
}
}
코드를 보면 StringTokenizer를 사용하기위해 맨 위에 먼저 import해줘야한다.
그리고 토큰으로 공백을 먼저 주고 출력해주면... 끝이다 네,,
너무 쉬운 방법이라 허탈할 지경,,
너무 반복문과 조건문만 사용하지 않고 새로운 함수들도 알아보고 도전할 필요가 있다고 느꼈다.