Yim-HaEun

[백준]1152번 단어의 개수 구하기 본문

Java/Programmers 코테 풀이

[백준]1152번 단어의 개수 구하기

Yim_Ha_Eun 2024. 9. 21. 23:13

** 정답은 맨 아래에있습니다.

 

 

 

split으로 코드를 짰더니

import java.io.*;

public class Main {
	public static void main(String[] args)throws IOException{
	
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		String[] input = br.readLine().split(" ");//공백으로 나누기
		System.out.println(input.length);
	
		
		br.close();
		
	}
}

맨 앞의 공백을 읽어서 6개의 단어가아니라 7개로 읽고있다.

import java.io.*;

public class Main {
	public static void main(String[] args)throws IOException{
	
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		String[] input = br.readLine().trim().split(" ");//공백으로 나누기
		System.out.println(input.length);
		}
		br.close();
		
	}
}

.trim()을 넣어서 해결됐나싶었는데 (앞뒤로 공백 제거)

 

공백하나만 넣으면 1로 출력되는 반례가 있었다.

그래서 최종코드는 아래와 같다.

 

import java.io.*;

public class Main {
	public static void main(String[] args)throws IOException{
	
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		String[] input = br.readLine().trim().split(" ");//공백으로 나누기
		if(input.length ==1 && input[0].equals("")) { //배열의 길이가 1이면서 그 값이 공백 이라면 0출력
			System.out.println(0);
		}else {
			System.out.println(input.length);
		}
		br.close();
		
	}
}

아오

내가 이상한건지.. 풀다보면 문제가 불친절하다.

테스트케이스도 부족한거같고

반례까지 생각해내라고 일부러 그러는건가 싶다.