728x90
문제
https://school.programmers.co.kr/learn/courses/30/lessons/181932
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
코드(Java)
class Solution {
public String solution(String code) {
StringBuilder answer = new StringBuilder();
int mode = 0;
char[] arr = code.toCharArray();
for (int i = 0; i < arr.length; i++) {
if (arr[i] == '1') {
mode = 1 - mode; // 0 ↔ 1 전환
} else if (i % 2 == mode) {
answer.append(arr[i]); // 문자열 붙이기
}
}
if (answer.length() == 0) {
return "EMPTY";
}
return answer.toString();
}
}
코드(Python)
def solution(code):
answer = []
mode = 0
for i, ch in enumerate(code):
if ch == '1':
mode = 1 - mode
elif i % 2 == mode:
answer.append(ch)
result = ''.join(answer)
return result if result else "EMPTY"
- `A if 조건 else B` → 조건이 참이면 A, 거짓이면 B
- 여기서는 조건이 `result` 자체 → 파이썬에서 빈 문자열은 거짓(False)