문제
프로그래머스 월간 코드 챌린지 시즌 1 이진 변환 반복하기
programmers.co.kr/learn/courses/30/lessons/70129
언어
자바스크립트(JavaScript)
접근 방법
- 재귀 함수를 작성하고 실행한다.
- 0을 제거한다.
- 제거 후 길이를 구하고 이를 이진 변환하여 재귀 함수를 호출한다.
코드
function solution(s) {
const answer = [0, 0];
console.log(s)
transfrom(s, answer);
return answer;
}
const transfrom = (s, answer) => {
const strWithoutZero = s.replace(/0/g,"");
answer[0] ++;
answer[1] += s.length - strWithoutZero.length;
const len = strWithoutZero.length;
if (len !== 1 ){
transfrom(len.toString(2), answer);
}
}
복기
- 미리 생각하고 풀면 어렵지 않다.
- 이진변환은 toString(2)으로 할 수 있다.
'개발 공부 > 알고리즘 문제 풀이' 카테고리의 다른 글
[LeetCode] 792. Number of Matching Subsequences (0) | 2021.06.22 |
---|---|
[LeetCode] 2. Add Two Numbers (0) | 2021.06.22 |
[프로그래머스] 퀴드압축 후 개수 세기 (0) | 2021.04.12 |
[프로그래머스] 삼각 달팽이 (0) | 2021.04.12 |
[프로그래머스] 다리를 지나는 트럭 (0) | 2021.04.07 |