class Solution {
public String solution(String s) {
String answer = "";
int j=0;
for(int i=0;i<s.length();i++){
if(s.substring(i,i+1).equals(" ")) j= -1;
if(j%2==0) answer += s.substring(i,i+1).toUpperCase();
else if(j%2!=0) answer += s.substring(i,i+1).toLowerCase();
j++;
}
return answer;
}
}
주어진 정규식과 일치하는 부분에서 문자열을 분할하여 배열에 저장한다.
split 함수 참고 https://jamesdreaming.tistory.com/84
class Solution {
public String solution(String s) {
String answer = "";
int cnt = 0;
String[] array = s.split("");
for(String ss : array) {
cnt = ss.contains(" ") ? 0 : cnt+1;
answer += cnt%2 == 0 ? ss.toLowerCase() : ss.toUpperCase();
}
return answer;
}
}
String[] array = s.split("");
얘는 인자값이 ""인 부분으로 봐서 그냥 단순히 string을 string배열로 만들어 주는 역할인듯 하다. 처음에는" "인줄 알고 띄어쓰기가 있을 때마다 새롭게 배열에 넣어주는 줄 알았는데 아니다.
toCharArray를 이용하면 데이터타입을 또 변환 시켜줘야 하기 때문에 이러한 방법을 쓴듯.
cnt = ss.contains(" ") ? 0 : cnt+1;
cnt+1을 cnt++로 했더니 안되고 ++cnt로 해야된다.