[프로그래머스] 다음 큰 숫자 (Python)

[프로그래머스] 다음 큰 숫자

풀이

1
2
3
4
5
6
7
def solution(n):
    bin_num = bin(n).count('1')

    while True:
        n += 1
        if bin(n).count('1') == bin_num:
            return n

처음에는 ‘1’의 개수를 구해서 반환하는 함수를 직접 구현하여 문제를 풀었으나, 이는 count() 함수 사용을 통해 대체할 수 있었다.


📌 bin() : 10진수를 2진수로 변환하는 함수

number = 10
print(bin(number))
# '0b1010'

📌 count() : 특정 문자/문자열이 몇개 있는지 계산해서 반환하는 함수

  • list / string에서 적용 가능
string = "abcdabcd"
print(string.count('a'))
# 2

array = ['a','b','c','d','ab','cd']
print(array.count('a'))
# 1