[JAVA 문제 풀이] 110. 코드 처리하기

프로그래머스 (181932)
Stupefyee's avatar
Feb 27, 2025
[JAVA 문제 풀이] 110. 코드 처리하기
notion image
 

내가 작성한 코드

class Solution { public String solution(String code) { String answer = ""; int mode = 0; for (int i = 0; i < code.length(); i++) { // 첫번째 문자가 1인 경우 if (i == 0) { if(code.charAt(i) == '1') { mode = 1; continue; } else { answer += code.charAt(i); continue; } } // 모드가 0인 경우 if (mode == 0) { if(code.charAt(i) == '1') { mode = 1; continue; } else if( i % 2 == 0){ answer += code.charAt(i); } continue; } // 모드가 1인 경우 if (mode == 1) { if(code.charAt(i) == '1') { mode = 0; continue; } else if( i % 2 == 1){ answer += code.charAt(i); } continue; } } return answer.isEmpty() ? "EMPTY" : answer; // answer가 비어있으면 "EMPTY" 반환 } }
 

다른 사람의 코드

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); // 현재 문자 // 1이 나오면 모드 변경 if (current == '1') { mode = mode == 0 ? 1 : 0; continue; } // 모드가 0이면 짝수번째 문자만, 1이면 홀수번째 문자만 추가 if (i % 2 == mode) { answer.append(current); } } return answer.length() == 0 ? "EMPTY" : answer.toString(); } }
 
Share article

stupefyee