728x90
이해하기
- mode = 0으로 시작
- "1"을 만나면 mode를 바꿈
- 0이었으면 1로
- 1이었으면 0으로
- mode가 0일 때
- code[idx]가 "1"이 아니면 idx가 짝수일 때만 ret의 맨 뒤에 code[idx] 추가
- mode가 1일 때
- code[idx]가 "1"이 아니면 idx가 홀수일 때만 ret의 맨 뒤에 code[idx] 추가
- ret이 비었다면 "EMPTY" 리턴
쉬운 문제라고 생각했는데 의외로 고민했다.
내가 틀렸던 이유는 바로 "EMPTY"를 못 봤기 때문... 문제를 잘 읽자🥹
문제풀이
class Solution {
public String solution(String code) {
String answer = "";
int mode = 0;
char[] arr = code.toCharArray();
for (int i = 0; i < arr.length; i++) {
if (arr[i] == '1') {
mode = 1 - mode;
} else if (i % 2 == mode) {
answer += arr[i] + "";
}
}
if (answer.equals("")) {
return "EMPTY";
}
return answer;
}
}
'JAVA > Coding Test Study' 카테고리의 다른 글
[Lv.1] 프로그래머스 - 최대공약수와 최소공배수 : Java (1) | 2024.04.19 |
---|---|
[Lv.0] 프로그래머스 - 두 수의 합 : Java (0) | 2024.04.16 |
[Lv.0] 프로그래머스 - ad 제거하기 : Java (0) | 2024.04.16 |
[Lv.2] 프로그래머스 - 가장 큰 수 : Java (0) | 2024.04.16 |
[Lv.2] 프로그래머스 - 전화번호 목록 : Java (0) | 2024.04.16 |