본문 바로가기

코딩테스트

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

<내 코드>

<내 코드2(정답)>

<풀이과정>

입력받은 수를 2진수로 바꾼뒤, 1의 갯수를 세어주고 주어진 범위내의 값에서 1씩 증가시켜가며 1의 갯수가 같아질때 리턴.

 

<느낀점>

범위가 백만정도가 되면 손쉽게 안풀리는 문제를 많이 접해서인지 범위를 보자마자 간단한 풀이법은 제쳐두고 특수한 알고리즘을

찾으려고 노력했다.0의갯수만 고정되어 있으면 충분히 풀 수 있었는데 반례가 너무 많은거 같아서 쉬운방법을 택했다.

효율성 테스트 까지 한방에 코드2로 통과했다... 항상 문제를 풀다가 막히거나 억지로 푼다 싶으면 다른 풀이를 빨리 찾아보는

연습을 해야겠다.