코딩 테스트/프로그래머스

Lv2. 다음 큰 숫자

  • -
728x90
반응형

문제 보기 :  다음 큰 숫자

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


문제


작성 코드

def solution(n):
    ans = [] ; nn = n
    while nn:
        ans.append(nn%2)
        nn //= 2
    k = ans.count(1)
    kk = 0
    
    while k != kk:
        n += 1
        an = []
        t = n
        while t:
            an.append(t%2)
            t //= 2
        kk = an.count(1)
    return n

풀이

1. 암튼 주어진 n을 이진법으로 만들고 1 갯수를 센다.(k)
2. n에 1씩 더하면서 이진법으로 변경하는데, 이 때 1갯수가 같을 때까지 시행하는 while문 생성.
3. (n+?)를 이진법으로 변경한 뒤의 1 갯수는 kk로 뒀다.
4. k == kk일 때 멈추고 n+?을 출력한다.

320x100
728x90

'코딩 테스트 > 프로그래머스' 카테고리의 다른 글

Lv2. 행렬의 곱셈  (0) 2024.07.16
Lv2. N개의 최소공배수  (0) 2024.07.15
Lv2. 점프와 순간이동  (0) 2024.07.15
Lv1. 실패율  (0) 2024.07.13
Lv2. JadenCase 문자열 만들기  (0) 2024.07.13
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.