반응형
문제(출처)
영어 대소문자와 띄어쓰기만으로 이루어진 문자열이 주어진다.
이 문자열에는 몇 개의 단어가 있을까? 이를 구하는 프로그램을 작성하시오.
단, 한 단어가 여러 번 등장하면 등장한 횟수만큼 모두 세어야 한다.
입력
첫 줄에 영어 대소문자와 띄어쓰기로 이루어진 문자열이 주어진다.
이 문자열의 길이는 1,000,000을 넘지 않는다.
단어는 띄어쓰기 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다.
또한 문자열의 앞과 뒤에는 공백이 있을 수도 있다.
출력
첫째 줄에 단어의 개수를 출력한다.
예제 입력1
The Curious Case of Benjamin Button
예제 출력1
6
예제 입력2
Mazatneunde Wae Teullyeoyo
예제 출력2
3
내 풀이
import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;
public class Main { public static void main(String args[]) { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); try { String[] str = br.readLine().split(" ");// 공백을 기준으로 분리하여 배열에 저장합니다. int count = 0;// 문장을 세기위해 선언합니다. for(String i : str) {// 배열을 순서대로 출력합니다. if(!i.equals(""))// 빈 값이 아닌경우에만 문장의 개수를 세어 증분합니다. count++; } bw.write(String.valueOf(count)); bw.flush(); bw.close(); } catch (IOException e) { e.printStackTrace(); } }}
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Main {
public static void main(String args[]) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
try {
String[] str = br.readLine().split(" ");
// 공백을 기준으로 분리하여 배열에 저장합니다.
int count = 0;
// 문장을 세기위해 선언합니다.
for(String i : str) {
// 배열을 순서대로 출력합니다.
if(!i.equals(""))
// 빈 값이 아닌경우에만 문장의 개수를 세어 증분합니다.
count++;
}
bw.write(String.valueOf(count));
bw.flush();
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
내 풀이 해석
공백을 기준으로 분리하여 String 배열에 저장합니다.
반복문으로 배열 값을 확인하고 빈 값이 아닌 경우에만 개수를 세어 출력합니다.
반응형
'개발(합니다) > 알고리즘&코테' 카테고리의 다른 글
알고리즘 단계별로 풀어보기 : BOJ-8958(OX퀴즈) (0) | 2018.12.20 |
---|---|
알고리즘 단계별로 풀어보기 : BOJ-2577(숫자의개수) (0) | 2018.12.20 |
알고리즘 단계별로 풀어보기 : BOJ-2448(별찍기 [11]) (0) | 2018.12.19 |
알고리즘 단계별로 풀어보기 : BOJ-1065(한수) (0) | 2018.12.18 |
알고리즘 단계별로 풀어보기 : BOJ-4673(셀프넘버) (0) | 2018.12.17 |