-
[문제풀이 후기] 프로그래머스 #181932 - 코드 처리하기문제풀이/Programmers 2025. 12. 21. 18:00
https://school.programmers.co.kr/learn/courses/30/lessons/181932
첫 번째 시도 (결과 : 실패)
접근 방식
1. 입력값이 없으면 EMPTY 얼리 리턴
2. mode 를 boolean 값으로 사용
3. index 의 값
: ! isNaN 이면 mode 변경
: isNaN 이면 index 의 홀/짝 여부에 따라 result.push(value)const array = code.split(""); if (!array.length) return "EMPTY"; const result = []; let mode = false; array.forEach((value, index) => { const indexEven = index % 2 === 0; if (!isNaN(value)) { mode = !mode; } else if ((!mode && indexEven) || (mode && !indexEven)) { result.push(value); } }); return result.join("");실패 원인
1. 입력값이 없는 경우는 없다. array.length 는 반드시 1 이상이다.
2. EMPTY 의 조건은 !array.length 가 아닌 !result.length 이다.
두 번째 시도 (결과 : 성공)
const array = code.split(""); const result = []; let mode = false; array.forEach((value, index) => { const indexEven = index % 2 === 0; if (!isNaN(value)) { mode = !mode; } else if ((!mode && indexEven) || (mode && !indexEven)) { result.push(value); } }); return result.length ? result.join("") : "EMPTY";
세 번째 시도 (결과 : 성공)
접근 방식
1. mode 는 결과값에 반영되지 않고 변경만 되는 Flag 값이며, code 에서 mode 에 해당하는 값은 1 밖에 없다.
2. code 에서 1 을 빈 문자열로 변경하면
- mode 1 일 때의 홀수 index 의 값 → mode 0 일 때의 짝수 index 가 됨
3. index 가 짝수인 값만 연결하면 동일한 결과값을 return 한다.const array = code.replaceAll("1", "").split(""); const result = array.filter((_, index) => index % 2 === 0).join(""); return result.length ? result : "EMPTY";후기
1. 문제를 잘 읽자..
2. 머리만 잘 쓰면 코드가 간단해진다. (하지만 그게 실력이고 문제다..)'문제풀이 > Programmers' 카테고리의 다른 글
[문제풀이 후기] 프로그래머스 #181860 - 빈 배열에 추가, 삭제하기 (0) 2026.01.02 [문제풀이 후기] 프로그래머스 #181916 - 주사위 게임 3 (0) 2025.12.26 [문제풀이 후기] 프로그래머스 #181921 - 배열 만들기 2 (0) 2025.12.26 [문제풀이 후기] 프로그래머스 #181930 - 주사위 게임 2 (0) 2025.12.22 [문제풀이 후기] 프로그래머스 #181935 - 홀짝에 따라 다른 값 반환하기 (0) 2025.12.21