
class Solution {
public String solution(String s) {
String answer = "";
String[] str = s.split("");
int index = 0;
for(int i = 0; i < str.length; i++) {
if(index % 2 == 0) {
str[i] = str[i].toUpperCase();
index++;
}
else if(index % 2 != 0) {
str[i] = str[i].toLowerCase();
index++;
}
answer += str[i];
}
return answer;
}
}
여기서 오류가 났다 ㅜㅜ 이해가 되질 않았다. 뭔가 처리할거 잘 처리한거 같았는데 이상하게 제출 후 입력하고 유효성 검사 및 정확성 검사에 실패가 떠서 뭔가 당황했다.
예외처리...역시 문제를 꼭 잘 읽어 봐야한다. 제한사항에서 "첫번째 글자는 0번 인덱스로 보아 짝수 번째 알파벳 처리해야 하고" 문제 상에서 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 즉, 공백도 처리 해야하는 것 이다. 만약 0번 인덱스에서 공백이 생기면 짝수 처리도 해야 하고 공백문자로 구분해야 하는 것이다.
class Solution {
public String solution(String s) {
String answer = "";
String[] str = s.split("");
int index = 0;
for(int i = 0; i < str.length; i++) {
if(str[i].equals(" ")) { // 공백 처리 해주는 if문
index = 0;
}
else if(index % 2 == 0) {
str[i] = str[i].toUpperCase();
index++;
}
else if(index % 2 != 0) {
str[i] = str[i].toLowerCase();
index++;
}
answer += str[i];
}
return answer;
}
}
문제를 끝까지 읽고 이해해야 하고 코드실행 후 된다고 자만하지 말자!!! 우리에겐 유효성과 정확성 검사가 있다라는 것을...