문제

내가 푼 코드

public class Solution {
public String solution(String code) {
StringBuilder ret = new StringBuilder();
int mode = 0;
for (int idx = 0; idx < code.length(); idx++) {
char ch = code.charAt(idx);
if (ch == '1') {
mode = 1 - mode; // 0이면 1로, 1이면 0으로 토글
} else {
if (mode == 0 && idx % 2 == 0) {
ret.append(ch);
} else if (mode == 1 && idx % 2 == 1) {
ret.append(ch);
}
}
}
return ret.length() > 0 ? ret.toString() : "EMPTY";
}
}설명
mode는 0으로 시작합니다.
- 반복문을 통해
code의 각 문자를 순차적으로 확인합니다.
- 문자가
'1'이면mode를 바꿉니다. (mode = 1 - mode는 간단한 토글 방식입니다.)
mode가 0일 때는 짝수 인덱스의 문자만, 1일 때는 홀수 인덱스의 문자만ret에 추가합니다.
ret이 비어있다면"EMPTY"를 반환합니다.
Share article