yjkim9591   1년 전

풀이법

작은수
이진수에서 가장 값이 0인 자리수 중 가장 작은 자리수를 찾음. 여길 a라 하자
그보다 큰 자리수 중에서 값이 1인 수 중 가장 작은 값를 찾음. 여길 b라 하자
0~b까지 0으로 초기화하고, b-1~0에서 1의 개수만큼 0인 arr를 바꿈

큰 수
이진수에서 가장 값이 1인 자리수 중 가장 작은 자리수를 찾음. 여길 a라 하자
그보다 큰 자리수 중에서 값이 0인 수 중 가장 작은 값를 찾음. 여길 b라 하자

자리수를 바꿔야 할 때는
0~b까지 0으로 초기화하고, b-1~0에서 1의 개수만큼 0인 arr를 바꿈
그 외에는
b와 b-1을 바꿈

testcase

1~32

3 5 6 9 ...이런식으로 연쇄적으로 체크했습니다.
꽤 많은 case를 테스트 해봤는데 제가 보기엔 틀린 값이 안나왔습니다.
이 코드는 오류를 보기 쉽게 출력코드를 약간 수정해놓은 코드입니다.

제발 어디가 틀렸는지 알 수 있을까요?

댓글을 작성하려면 로그인해야 합니다.