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

2025. 5. 1. 20:01·프로그래머스
728x90
반응형
SMALL

https://school.programmers.co.kr/learn/courses/30/lessons/12911

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

제출 코드

def solution(n):
    answer = 0
    s = bin(n)[2:]
    one_len = ""
    for i in s:
        if i == "1":
            one_len += i
    while True:
        n += 1
        s = bin(n)[2:]
        compet = ""
        for i in s:
            if i == "1":
                compet += i
        if len(compet) == len(one_len):
            answer = n
            break
    return answer

 

일단 이 문제는 딱히 자료구조나 알고리즘을 사용안해도 되는거 같다.(그냥 단순 구현문제

 

문제 조건

  1. n보다 큰 수
  2. 다음 큰 수를 2진수 변환을 했을 때 n의 2진수 변환에서의 1의 개수가 같아야한다.
  3. 위 두조건을 만족하는 가장 작은 수

일단 2번이 문제의 킥이다.

 

  • s를 돌면서 1의 개수를 저장한다.
  • 무한반복으로 n을 1씩 증가시켜 2진수 변환 후 1만 뽑아낸다.
  • 그 뒤 원래 숫자 1의 개수와 비교하여 같으면 n을 출력

뭐 단순 구현인거 같다. 

 

하지만 2진수 변환 함수 bin()을 알아야한다.

 

 

728x90
반응형
LIST

'프로그래머스' 카테고리의 다른 글

[프로그래머스/Python] - 멀리 뛰기  (0) 2025.05.02
[프로그래머스/Python] - 게임 맵 최단거리  (0) 2025.05.01
[프로그래머스/Python] - 짝지어 제거하기  (0) 2025.05.01
[프로그래머스/Python] - 점프와 순간이동  (0) 2025.05.01
'프로그래머스' 카테고리의 다른 글
  • [프로그래머스/Python] - 멀리 뛰기
  • [프로그래머스/Python] - 게임 맵 최단거리
  • [프로그래머스/Python] - 짝지어 제거하기
  • [프로그래머스/Python] - 점프와 순간이동
코린이 파닥거리기
코린이 파닥거리기
    반응형
    250x250
  • 코린이 파닥거리기
    코린이 파닥거리기의 블로그
    코린이 파닥거리기
  • 전체
    오늘
    어제
    • 분류 전체보기 (116) N
      • 백준[파이썬] (47) N
      • Spring (31)
      • CS (1)
      • 자바 (4)
      • 백준[자바] (20)
      • 프로그래머스 (5)
      • 토이프로젝트 (1)
      • SWEA (2)
      • MSA (4) N
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    스프링 부트와 AWS로 혼자 구현하는 웹 서비스
    db
    Java
    누적합
    코딩테스트
    컨테이너
    프로그래머스
    MSA
    파이썬
    spring
    백준
    자바
    JWT
    JPA
    SWEA
    테스트코드
    SpringBoot
    스프링부트
    재귀
    스프링
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
코린이 파닥거리기
[프로그래머스/Python] - 다음 큰 숫자
상단으로

티스토리툴바