[BOJ][Python3/PyPy3] 2248 - 이진수 찾기
·
알고리즘 (PS)/BOJ
동아리에서 DP를 배우면서 과제로 푼 '이진수 찾기'의 풀이 과정을 정리하고자한다. 처음에 문제를 딱 읽었을 때는 무슨 말인지 긴가민가 했다. 직접 써보면 간단하다. 만약 3자리 이진수 중, 2개 이하의 비트만 1인 것을 크기순으로 나열하면 다음과 같다. 000 001 010 011 100 101 110 이제 주어진 조건하에서 주어진 숫자 번째의 이진수를 찾아야한다. 처음에는 어떻게 풀어야할지 감이 안왔다. 그래서 예제 입력 1번 5 3 19 크기순으로 직접 나열해봤다. 00000 00001 00010 00011 00100 00101 00110 00111 01000 01001 01010 01011 01100 01101 01110 10000 . . . 근데 여기까지 쓰고보니 뭔가 규칙이 보인다. 위 사진처..