● 문제
● 풀이
class Solution {
public String solution(String s) {
//s의 문자열 하나씩 배열에 입력
String[] arr = s.split("");
int idx = 0;
StringBuilder sb = new StringBuilder();
for(int i = 0; i< arr.length; i++){
if(arr[i].equals(" ")){
idx = 0;
}else if (idx % 2 == 0){
arr[i] = arr[i].toUpperCase();
idx++;
}else{
arr[i] = arr[i].toLowerCase();
idx++;
}
sb.append(arr[i]);
}
return sb.toString();
}
}
● 리뷰
문자열을 띄어쓰기를 기준으로 잘라서 배열에 문자열로 저장해서, 대소문자 변환을 시킨뒤 띄어쓰기를 해서 붙여야 하나 생각했는데, 그것은 코드가 좀 복잡해질 것 같고 구글링을 해보니 위와 같이 간단한 방식을 찾았다.
문자 하나씩 배열에 저장하여 띄어쓰기가 있으면 인덱스 변수값을 0으로 초기화 시키고, 각 문자열의 인덱스 값이 홀수인지 짝수인지 구분하여 대소문자 변환을 시킨다.
문자열끼리 비교할 때 == 연산자를 쓰는 실수를 한다.. 문자열은 참조 자료형이므로 같은지 비교할 때는 equals( ) 메서드 사용하자!!!!!!!!!