본문 바로가기
백준알고리즘

백준알고리즘:p1152 단어의 개수

by socialcomputer 2021. 2. 24.
반응형

분류: 문자열

 

문제

 

코드

//백준알고리즘 제출시 클래스 이름은 Main으로 바꿔야 됨 
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;

public class p1152 {

	public static void main(String[] args) {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		try {
		StringTokenizer st = new StringTokenizer(br.readLine(), " ");
		bw.write(st.countTokens()+"\n");
		bw.flush();
		}catch (Exception e) { e.printStackTrace(); }
	}

}

▶StringTokenizer

StringTokenizer를 잘 알진 못해서

.length()를 했다가 답이 안나와 다시 .split()을 써서 풀었었다.

StringTokenizer는 .countTokens()을 써야한다는 것!!!

 

▶BufferedWriter  .write()

bw.write()쓸때 숫자를 출력할때면 끝에 "\n"를 붙여줘야 한다.

그렇지 않으면 이상한 글자가 출력된다. 

문자는 한글자여도 괜찮았음, 문자스트림Writer이라서 그런가?


채점결과

토큰을 쓰나 split으로 하나 차이는 없었다.

처음엔 왜 틀렸는지 몰랐는데, 클래스 이름을 Main으로 바꾸는 걸 까먹지 말자... 

링크 www.acmicpc.net/problem/1152

 

1152번: 단어의 개수

첫 줄에 영어 대소문자와 띄어쓰기로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 띄어쓰기 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한

www.acmicpc.net

 

반응형

댓글