728x90
※ 문제
출처 : (https://www.acmicpc.net/problem/11720)
1. 실패 코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String str = scan.nextLine();
str = str.trim(); // 앞뒤 문자공백 제거
String[] strArr = str.split(" "); // 문자열 쪼개서 배열의 할당
System.out.println(strArr.size()); // 배열 사이즈
}
}
- 위 코드도 예제 입ㆍ출력 테스트를 실행하면 정답은 나온다.
아직 원인을 파악하지 못했지만 간혹 split를 사용하는 경우 배열 index(0)인 value가 ""→ 이렇게 할당되는 경우가 있다. 그래서 아래 코드처럼 일일히 조건문으로 체크한 다음 remove 해줘서 성공했다.
2. 성공 코드
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
ArrayList<String> arrayList = new ArrayList<>();
String str = scan.nextLine();
// str = str.trim();
String[] strArr = str.split(" ");
for(String strA : strArr) {
arrayList.add(strA);
}
for(int i=0; i<arrayList.size(); i++) {
if(arrayList.get(i).equals("")) arrayList.remove(i);
}
System.out.println(arrayList.size());
}
}
728x90
'자기계발 > 백준 문제 풀이' 카테고리의 다른 글
7568 자바 ] 덩치(풀이) (0) | 2022.09.01 |
---|---|
1009 자바 ] 분산처리(풀이) (0) | 2022.09.01 |
10757 자바 ] 큰 수 A+B(풀이) (0) | 2022.09.01 |
2108 자바 ] 통계학(풀이) (0) | 2022.09.01 |
1929 자바 ] 소수 구하기/에라토스테네스의 체(풀이) (0) | 2022.08.31 |