카테고리 없음

[프로그래머스] 코드 처리하기 (Java, Python)

garamdev 2026. 9. 5.
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)