2464번 - 비밀번호
풀이법
작은수이진수에서 가장 값이 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를 테스트 해봤는데 제가 보기엔 틀린 값이 안나왔습니다.이 코드는 오류를 보기 쉽게 출력코드를 약간 수정해놓은 코드입니다.
제발 어디가 틀렸는지 알 수 있을까요?
댓글을 작성하려면 로그인해야 합니다.
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를 테스트 해봤는데 제가 보기엔 틀린 값이 안나왔습니다.
이 코드는 오류를 보기 쉽게 출력코드를 약간 수정해놓은 코드입니다.
제발 어디가 틀렸는지 알 수 있을까요?