본문 바로가기
Algorithm/Programmers

[Programmers] Lv.0 / 코드 처리하기 / Java

by unknownomad 2023. 10. 18.

문제

 

풀이

class Solution {
    public String solution(String code) {
        String answer = "";
        int mode = 0;
        
        for(int i = 0; i < code.length(); i++) {
            String a = code.substring(i, i + 1);
            
            if(mode == 0) {
                if(!a.equals("1")) {
                    if(i % 2 == 0) {
                        answer += a;
                    }
                } else {
                    mode = 1;
                }
            } else {
                if(!a.equals("1")) {
                    if(i % 2 == 1) {
                        answer += a;
                    }
                } else {
                    mode = 0;
                }
            }
        }
        if(answer.equals("")) {
            answer = "EMPTY";
        }
        return answer;
    }
}
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);
            if (current == '1') {
                mode = mode == 0 ? 1 : 0;
                continue;
            }

            if (i % 2 == mode) {
                answer.append(current);
            }
        }
        return answer.length() == 0 ? "EMPTY" : answer.toString();
    }
}

 

출처

https://school.programmers.co.kr/learn/courses/30/lessons/181932

댓글