2진수 변환을 가장 빠르게 하는 방법

1. 문제 주어진 자연수 n을 이진수로 변환할 때 1의 개수와 정확히 같은 1의 개수를 가지는 n보다 작은 자연수의 이진수 변환은 몇개나 있는지 구하는 solution 함수를 작성하면? 2. 제한사항 n은 $2^{30}$이하의 자연수 3. 나의 풀이 처음에는 그냥 format을 이용해 n을 이진수로 변환하고 for문을 이용해 1부터 n보다 작은 자연수까지 모두 이진수로 변환해보면서 1의 개수가 같으면 answer에 1을 더하는 방식으로 구했다 def solution(n): answer = 0 bin_n_one = format(n,'b').count('1') for i in range(1,n): if bin_n_one == format(i,'b').count('1'): answer += 1 return a..