문제
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
풀이
(1) 문자열 s에서 0의 갯수를 구하기 위해 배열로 변환 -> filter 메서드를 이용하여 length를 구한다.
(2) 1만 추출하여 2진수로 변한하기 위해 toString 메서드를 사용한다.
(3) s가 1이 될 때까지 반복한 후 2진수 변환 횟수, 지운 2의 총 갯수를 반환한다.
function solution(s) {
let tryCnt = zeroCnt = 0;
while (s !== "1") {
s = s.split("");
zeroCnt += s.filter(num => num === "0").length;
s = s.filter(num => num === "1").length.toString(2);
tryCnt++;
}
return [tryCnt, zeroCnt];
}
결론
레벨2의 월간 코드 챌린지 문제이다.
toString을 사용하여 10진수를 2진수로 변환할 줄 알면 쉽게 해결할 수 있다.
'코딩테스트' 카테고리의 다른 글
[백준] 옥상 정원 꾸미기 (JS) (0) | 2025.01.02 |
---|---|
[프로그래머스] n^2 배열 자르기 (JS) (0) | 2025.01.01 |
[프로그래머스] 캐시 (JS) (0) | 2024.11.24 |
[프로그래머스] 가장 많이 받은 선물 (JS) (0) | 2024.11.23 |
[프로그래머스] 테이블 해시 함수 (JS) (0) | 2024.11.20 |