반응형

 

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges

 

 

 

** Javascript

 

예전에 미리 풀었어서 몇 점 받았는지 기억이 안 남

 

function solution(s) {
    let count = 0;
    let zeros = 0;
    while (s !== "1") {
        zeros += (s.match(/0/g) || []).length;
        s = s.replace(/0/g, "").length.toString(2);
        count++;
    }
    return [count, zeros];
}

 

 

** Python

 

def solution(s):
    c = 1
    answer = [0, 0]
    while s != "1":
        zeros = [x for x in s if x == "0"]
        ones = [x for x in s if x == "1"]
        answer[1] += len(zeros)
        answer[0] += 1
        s = format(len(ones), 'b')
    return answer

 

 

 

역시 추천 많이 받은 풀이는 이유가 있다

 

def solution(s):
    a, b = 0, 0
    while s != '1':
        a += 1
        num = s.count('1')
        b += len(s) - num
        s = bin(num)[2:]
    return [a, b]
반응형

+ Recent posts