강의로 돌아가기
YanAwithU

(정답스포) 혹시 이거 원리 설명해주실 수 있나요?

그냥 왠지 느낌상 주어진 수를 binary로 나타냈을때 1의 개수가 정답일 것 같아서
찍어봤는데 그냥 돼버려서...
혹시 이거 왜 그런건지 알 수 있나요?

작성중인 코드―solution.py
1
2
def solution(n):
    return bin(n)[2:].count('1')
  • YanAwithU

    자답입니다. n 위치에서 0으로 갈 때 순간이동이 가능하지 못한 순간에 1칸씩만 점프를 뛰면 되는데, 이 과정이 주어진 수를 이진화 했을 때 1의 개수를 구하는 과정과 동일한 것을 확인했습니다.

    YanAwithU―2020.10.15 08:46
  • Kyu0

    대단해요

    Kyu0―2021.01.07 22:15
  • Ennis

    2와 관련있다보니 이렇게도 되는군요...

    Ennis―2021.01.14 01:37
  • Jack

    점프(Shift 연산), 이동 (1의 자리수의 0 -> 1 변환) => 2진표현( 점프 및 이동의 기록 )

    Jack―2021.06.09 05:33
  • Kim Byoung Tae

    와 이런 풀이도 있군요

    Kim Byoung Tae―2021.07.03 20:49
  • 안은노

    /* 5 = 1 4 = 1 2 w = 1 1 w w 6 = 1w1w = 3 w = 1 2 w = 1 1 w w 5000 = 2500w = 1250ww = 625www = 1,624www = 1 312wwww = 1 156wwwww = 1 78wwwwww = 1 39 wwwwwww = 1 1 19 wwwwwww = 1 1 1 9 wwwwwwww = 1 1 1 1 4 wwwwwwwww = 1 1 1 1 2 wwwwwwwwww = 1 1 1 1 1 */

    안은노―2021.07.21 23:43
  • 안은노

    이런 식으로 생각하시면 됩니당

    안은노―2021.07.21 23:43
  • 김인섭

    감사합니다!

    김인섭―2023.12.26 10:21
0 개의 답변
답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.