smooth waters run deep

1d-1c/BOJ

1152_단어의 개수 (JAVA)

yeon_11 2020. 10. 26. 01:26
 

1152번: 단어의 개수

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

www.acmicpc.net

 

import java.util.Scanner;

public class Main {
	static int ans = 0;
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		String str = sc.nextLine();

		String[] arr = str.split(" ");
		ans = arr.length;
		for(int i=0; i<ans; i++){
			if(arr[i].equals(""))
				ans--;
		}
		System.out.println(ans);
	}
}

 

[문제 풀이 생각 과정]

 

1. 공백을 기준으로 나누어 배열에 저장한다.

   -> String[] arr = str.split(" ");

 

2. 배열의 크기만큼 돌면서, "" 경우는 ans에서 빼준다.

   왜냐면, (공백)(공백)a 를 입력할 경우, (공백)은 배열에 ""로 저장되기 때문에!

  

 

'1d-1c > BOJ' 카테고리의 다른 글

14179_빗물 (JAVA)  (0) 2020.10.27
2304_창고 다각형 (JAVA)  (0) 2020.10.27
[변형 문제] 백준 1662_압축  (0) 2020.10.26
1662_압축 (JAVA)  (0) 2020.10.26
2606_바이러스 (JAVA)  (0) 2020.10.23