728x90
반응형
문제
코드
public String[] solution(String[] strArr) {
String[] answer = new String[strArr.length];
//배열 초기화
for (int i = 0; i < strArr.length; i++) {
answer[i] = "";
}
for(int i = 0 ; i<strArr.length; i+=2){
for(char ch : strArr[i].toCharArray()){
answer[i] += Character.toLowerCase(ch);
}
}
for(int i = 1 ; i<strArr.length; i+=2){
for(char ch : strArr[i].toCharArray()){
answer[i] += Character.toUpperCase(ch);
}
}
return answer;
}
어려운 문제는 아니지만 배열 선언과 초기화를 생각하지 못 한 부분을 기억하고자 적게 되었다.
처음엔 주석처리한 부분을 생각 못했는데 초기화를 하지 않았더니 ["NULLaaa","NULLBBB...] 이런 식으로 나왔다.
처음 배열을 선언하면 string type 이므로 null 값이 들어간다. 그러므로 answer[i]에 들어있는 값은 {null}이다.
여기에 for loop를 돌면서 ch가 +=되므로 위와 같은 결과가 나왔던 것이다.
원하는 결과값을 얻기 위해서는 answer 배열을 빈 문자열("")로 만들어주어야한다.
728x90
반응형
'Java > 공부' 카테고리의 다른 글
[Hashmap] .getOrDefault(key, defaultValue) (0) | 2023.07.25 |
---|---|
[JAVA] 예제로 Hash map 공부하기 (0) | 2023.07.25 |
예제로 arrayList 공부하기 (0) | 2023.07.19 |
trim() split("\\s") split("\\s+") (0) | 2023.07.18 |
StringBuilder() (0) | 2023.07.12 |