반응형
언뜻 보면 단순히 split함수를 써서 구해낼 수 있는 굉장히 쉬운 문제같지만 막상 풀어보면 이것저것 고려해줘야 할 부분이 있다.
먼저 첫번째로 처리해줘야 하는 부분은 입력 앞에 빈칸이 있는 경우다. 이 경우는 split함수를 쓰면 해당 빈칸을 공백으로 입력을 받게 된다.
즉 이런 경우다. 아래 상황은 입력 앞에 공백이 있는 경우다.
kakao naver google
이 경우 split(" ")을 통해 문자열을 쪼개면 아래와 '', 'kakao', 'naver', 'google'로 총 4개의 단어로 나뉘게 된다. 그러므로 맨 처음 원소가 ''일 경우 해당 부분을 처리하는 로직을 추가해줘야 한다.
두번째로는 아무 입력도 들어오지 않는 경우다. 이 경우에는 앞에서 맨 처음 원소가 ''일 경우를 비교하게 될때 runtime error가 발생할 수 있으므로, 이 부분 또한 고려해주어야 한다.
아래 코드는 최종적으로 작성된 코드.
import java.util.Scanner;
public class OneHour {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String input = sc.nextLine();
String [] arr = input.split(" ");
if(arr.length > 0)
{
if("".equals(arr[0]))
System.out.println(arr.length-1);
else
System.out.println(arr.length);
}else
{
System.out.println("0");
}
}
}
반응형
'Backjoon' 카테고리의 다른 글
[백준 5622] 다이얼 -java 풀이 (0) | 2018.10.28 |
---|---|
[백준 2908] 상수 - java 풀이 (0) | 2018.10.28 |
[백준 1157] 단어 공부 java 풀이 (0) | 2018.10.28 |
[백준 2675] 문자열 반복 문제 java 풀이 (0) | 2018.10.27 |
[백준 10809] 알파벳 찾기 -java (2) | 2018.10.27 |