티스토리 뷰

www.acmicpc.net/problem/1152

 

1152번: 단어의 개수

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

www.acmicpc.net

 

주어진 문장에서 단어를 구하는 문제로 앞, 뒤 공백이 있을 수 있으니 공백을 제거하고 중간 공백을 기준으로 문장을 쪼개서 나온 단어 배열의 크기를 반환하면 해결할 수 있는 문제입니다.

 

단, 빈 문자(" ")가 들어오는 경우 ""이 배열에 저장되어 1개의 단어가 있는 것으로 판단되기 때문에 이 경우를 찾아 0을 반환할 수 있도록 하였습니다.

 

자바 코드는 다음과 같습니다.

 

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        // 앞, 뒤 공백 제거(trim()) 및 중간 공백으로 단어 자르기(split(" "))
        String[] input = br.readLine().trim().split(" ");
        
        // 빈 문자열이 들어온 경우 0 출력
        if (input.length == 1 && "".equals(input[0])) {
            System.out.println(0);
        } else {  // 나머지 경우는 단어 개수 출력
            System.out.println(input.length);
        }
    }
}
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함