문제: https://school.programmers.co.kr/learn/courses/30/lessons/12930
class Solution {
public String solution(String s) {
String answer = "";
char beforeC = 'a';
int idx = 0;
for(int i = 0; i < s.length(); i++){
if(i == 0){
beforeC = 'a';
}else{
beforeC = s.charAt(i-1);
}
// 앞이 공백이면 idx 초기화
if(s.charAt(i) == ' '){
answer += " ";
idx = 0;
continue;
}
// idx 기준으로 대소문자 구분
if(idx % 2 == 0){
if(s.charAt(i) >= 'A' && s.charAt(i) <= 'Z'){
answer += s.charAt(i);
}else{
answer += (char)(s.charAt(i) - 32);
}
}else{
if(s.charAt(i) >= 'a' && s.charAt(i) <= 'z'){
answer += s.charAt(i);
}else{
answer += (char)(s.charAt(i) + 32);
}
}
idx++;
}
return answer;
}
}
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을 .split(””)로 모두 String으로 나눠서 풀이한다면 좀 더 쉬운 방법이 됩니다.
살짝만 다르게 생각하는 실력을 기르도록!