코딩테스트

[programmers] JAVA_0단계 코드 처리하기

congs 2024. 6. 17. 23:12

코드 처리하기

 

풀이

class Solution {
    public String solution(String code) {
       
        StringBuilder ret = new StringBuilder(); 
        int mode = 0;
        
        for(int idx = 0; idx < code.length(); idx++){
            // 추가할 위치의 문자열
            char c = code.charAt(idx);

            if(mode == 0){
                // mode가 0인 경우
                if(c == '1'){
                    mode = 1;
                }else if(idx % 2 == 0){
                    ret.append(c);
                }
            }else{
                // mode가 1인 경우
                if(c == '1'){
                    mode = 0;
                }else if(idx % 2 == 1){
                    ret.append(c);
                }
            }
        }
        
        return ret.length() == 0? "EMPTY" : ret.toString();
    }
}

 

 

class Solution {
    public String solution(String code) {
    
        StringBuilder answer = new StringBuilder();
        int mode = 0;
        
        for (int idx = 0; idx < code.length(); idx ++) {
            char t = code.charAt(i);
                  
            if (c == '1') {
            // 가져온 문자가 1인 경우
                mode = mode == 0 ? 1 : 0;
                //mood == 0 이 참이면 mode에 1 ,거짓이면 mode 에 0 
                continue;
            }
			
            if (idx % 2 == mode) {
           	// idx/2의 나머지가 mode인 경우 : 추가
                answer.append(c);
            }
        }
        return answer.length() == 0 ? "EMPTY" : answer.toString();
    }
}