2의 제곱수 (WIP)
2024년 2월 11일 작성
System & Sessionstatic & dynamic
https://leetcode.com/problems/power-of-two/?envType=daily-question&envId=2024-02-19
2의 제곱수라는 말을 보고 비트연산을 사용하면 조금은 빠르지 않을까하고 이렇게 접근했었다. 결과적으로 나는 최대 32번 걸리는 알고리즘을 만들었는데.. 이것보다 더 빠르게 한 사람이 엄청 많았다.
gpt에게 도움을 요청했다.
https://chat.openai.com/share/73445499-70fa-4e8d-934f-af9cbad3e33b
이런 방법이 있다니. 그렇다. 10000_2 - 1 = 1111_2 이다. 0이 얼마나 되든 같은 형태를 띠겠지. 그리고 10000_2 와 1111_2를 AND 연산을 하면 0이 된다. 비트가 모두 다르면 0이 된다는 것은 알아두면 계속 써먹을 수 있을 것 같다!! 언제나 진리의 0이니까..
근데 내보니까 이것도 틀렸다.