[프로그래머스] 다음 큰 숫자 (Python)
[프로그래머스] 다음 큰 숫자
- 문제 출처: https://programmers.co.kr/learn/courses/30/lessons/12911
- 난이도: Level 2
풀이
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