https://school.programmers.co.kr/learn/courses/30/lessons/70129
나의 풀이
function solution(s) {
let box = [0,0]
while(s.length > 1){
let reamain = s.replace(/0/g,"").length
box[0] += 1
box[1] += (s.length - reamain)
s = reamain.toString(2)
}
return box;
}
1. while에서 헷갈렸다.
( ) 안이 참이 되어야 안에있는 코드들이 작동하는 것이고 거짓이어야 동작을 멈춘다.
2. 숫자는 length를 사용할 수 없다. 만약 억지로 사용하면 undefined가 된다.
const testStr = "test"
const testNum = 153
console.log(testStr.length) // 4
console.log(testNum.length) // undefined
다른 사람 풀이
function solution(s) {
var answer = [0,0];
while(s.length > 1) {
answer[0]++;
answer[1] += (s.match(/0/g)||[]).length;
s = s.replace(/0/g, '').length.toString(2);
}
return answer;
}
'알고리즘 > 프로그래머스 - JS' 카테고리의 다른 글
[프로그래머스] level.2 올바른 괄호 (0) | 2022.09.24 |
---|---|
[프로그래머스] level.2 최솟값 만들기 (1) | 2022.09.23 |
[프로그래머스] level.2 최댓값과 최솟값 (0) | 2022.09.22 |
[프로그래머스] level.2 타켓 넘버 ( 이걸본다면 단숨에 이해 가능!!) (1) | 2022.09.20 |
[프로그래머스-JS] level 2 124 나라의 숫자 (*) (0) | 2022.08.11 |