From eff3567814e31d5d46aa2e144b9bb3e07c62b936 Mon Sep 17 00:00:00 2001 From: unknown <1326cy@gmail.com> Date: Mon, 10 Aug 2026 23:34:13 +0900 Subject: [PATCH] day12 --- .../476. Number Complement.py" | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 "leetcode3/\353\202\250\355\232\250\354\240\225/476. Number Complement.py" diff --git "a/leetcode3/\353\202\250\355\232\250\354\240\225/476. Number Complement.py" "b/leetcode3/\353\202\250\355\232\250\354\240\225/476. Number Complement.py" new file mode 100644 index 00000000..167e4534 --- /dev/null +++ "b/leetcode3/\353\202\250\355\232\250\354\240\225/476. Number Complement.py" @@ -0,0 +1,17 @@ +class Solution: + def findComplement(self, num: int) -> int: + cnt = 0 + + # 2진수 최대 - 1 - num 으로 답을 구할 수 있음 + # 예) num = 14라면 2^4 - 1 - 14 = 1이 답임 + # 예) num = 24라면 2^5 - 1 - 24 = 7이 답임 + def makeBinary(num: int): + nonlocal cnt + cnt += 1 + if num // 2 == 0: + return + makeBinary(num // 2) + + makeBinary(num) + return 2 ** cnt - num - 1 + \ No newline at end of file