프로그래머스 / Level2 , 월간 코드 챌린지 시즌1 , 이진 변환 반복하기 자바스크립트 , JS
문제 출처
https://school.programmers.co.kr/learn/courses/30/lessons/70129
풀이
d_cnt 는 삭제를 몇개 했는지 카운트,
c_cnt 는 이진변환을 몇번 했는지 카운트 해서 저장한다.
참고로 10진수를 2진수로 변환하는 방법은
Num.toString(2);
를 사용하면 된다.
정답
let d_cnt = 0;
let c_cnt = 0;
const Change = (k) => {
let B = k.length;
let ck = k.filter((v) => v === "1");
let A = ck.length;
let N = B - A;
let result = String(A.toString(2)).split("");
d_cnt += N;
return result;
};
function solution(s) {
var answer = [];
let tmp = s.split("");
while (true) {
if (tmp[0] === "1" && tmp.length === 1) break;
else {
tmp = Change(tmp);
c_cnt += 1;
}
}
answer = [c_cnt, d_cnt];
return answer;
}
반응형
'알고리즘 공부 > 프로그래머스 - 자바스크립트' 카테고리의 다른 글
프로그래머스 / Level2 , 연습문제 , 문자열 내 마음대로 정렬하기 자바스크립트 , JS (0) | 2022.09.13 |
---|---|
프로그래머스 / Level2 , 연습문제 , 피보나치 수 자바스크립트 , JS (0) | 2022.09.12 |
프로그래머스 / Level2 , 연습문제 , 올바른 괄호 자바스크립트 , JS (0) | 2022.09.12 |
프로그래머스 / Level2 , 연습문제 , 최댓값과 최솟값 자바스크립트 , JS (0) | 2022.09.12 |
프로그래머스 / Level2 , 연습문제 , JadenCase 문자열 만들기 자바스크립트 , JS (0) | 2022.09.12 |