
내가 작성한 코드
class Solution {
public String solution(String code) {
String answer = "";
int mode = 0;
for (int i = 0; i < code.length(); i++) {
// 첫번째 문자가 1인 경우
if (i == 0) {
if(code.charAt(i) == '1') {
mode = 1;
continue;
} else {
answer += code.charAt(i);
continue;
}
}
// 모드가 0인 경우
if (mode == 0) {
if(code.charAt(i) == '1') {
mode = 1;
continue;
} else if( i % 2 == 0){
answer += code.charAt(i);
}
continue;
}
// 모드가 1인 경우
if (mode == 1) {
if(code.charAt(i) == '1') {
mode = 0;
continue;
} else if( i % 2 == 1){
answer += code.charAt(i);
}
continue;
}
}
return answer.isEmpty() ? "EMPTY" : answer; // answer가 비어있으면 "EMPTY" 반환
}
}
다른 사람의 코드
class Solution {
public String solution(String code) {
StringBuilder answer = new StringBuilder();
int mode = 0;
for (int i = 0; i < code.length(); i++) {
char current = code.charAt(i); // 현재 문자
// 1이 나오면 모드 변경
if (current == '1') {
mode = mode == 0 ? 1 : 0;
continue;
}
// 모드가 0이면 짝수번째 문자만, 1이면 홀수번째 문자만 추가
if (i % 2 == mode) {
answer.append(current);
}
}
return answer.length() == 0 ? "EMPTY" : answer.toString();
}
}
Share article