From 12c77c0bf11ca9520f3c1b3e97a02196cf958179 Mon Sep 17 00:00:00 2001 From: khw0828 <97077535+gusdn0828@users.noreply.github.com> Date: Sun, 26 May 2024 01:15:03 +0900 Subject: [PATCH 1/4] =?UTF-8?q?feat:=20=EC=B9=B4=EC=9A=B4=ED=8A=B8?= =?UTF-8?q?=EB=B9=84=ED=8A=B8=20=ED=92=80=EC=9D=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- counting-bits/saysimple.py | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 counting-bits/saysimple.py diff --git a/counting-bits/saysimple.py b/counting-bits/saysimple.py new file mode 100644 index 000000000..20a902e11 --- /dev/null +++ b/counting-bits/saysimple.py @@ -0,0 +1,9 @@ +class Solution: + def countBits(self, n: int) -> List[int]: + answer = [] + + for i in range(n+1): + b = bin(i) + answer.append(int(b.count("1"))) + + return answer From 62307d4301c9109415d56ee9f1517d12a52aeb07 Mon Sep 17 00:00:00 2001 From: khw0828 <97077535+gusdn0828@users.noreply.github.com> Date: Sun, 26 May 2024 01:48:14 +0900 Subject: [PATCH 2/4] =?UTF-8?q?feat:=20=EA=B7=B8=EB=A3=B9=20=EC=95=A0?= =?UTF-8?q?=EB=82=98=EA=B7=B8=EB=9E=A8=20=ED=92=80=EC=9D=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- group-anagrams/saysimple.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 group-anagrams/saysimple.py diff --git a/group-anagrams/saysimple.py b/group-anagrams/saysimple.py new file mode 100644 index 000000000..bd7640944 --- /dev/null +++ b/group-anagrams/saysimple.py @@ -0,0 +1,12 @@ +from collections import defaultdict + +class Solution: + def groupAnagrams(self, strs: List[str]) -> List[List[str]]: + d = defaultdict(list) + for s in strs: + if not s: + d["0"].append("") + else: + d["".join(sorted(s))].append(s) + + return [d[s] for s in d] From 14d1529049d1524c92d08bd2e420e1f35c03b469 Mon Sep 17 00:00:00 2001 From: khw0828 <97077535+gusdn0828@users.noreply.github.com> Date: Sun, 26 May 2024 02:32:23 +0900 Subject: [PATCH 3/4] =?UTF-8?q?feat:=20reverse=20bits=20=ED=92=80=EC=9D=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- missing-number/saysimple.py | 5 +++++ number-of-1-bits/saysimple.py | 3 +++ reverse-bits/saysimple.py | 3 +++ 3 files changed, 11 insertions(+) create mode 100644 missing-number/saysimple.py create mode 100644 number-of-1-bits/saysimple.py create mode 100644 reverse-bits/saysimple.py diff --git a/missing-number/saysimple.py b/missing-number/saysimple.py new file mode 100644 index 000000000..1ca9af3c4 --- /dev/null +++ b/missing-number/saysimple.py @@ -0,0 +1,5 @@ +class Solution: + def missingNumber(self, nums: List[int]) -> int: + for i in range(len(nums)+1): + if i not in nums: + return i diff --git a/number-of-1-bits/saysimple.py b/number-of-1-bits/saysimple.py new file mode 100644 index 000000000..7ef7ebf0b --- /dev/null +++ b/number-of-1-bits/saysimple.py @@ -0,0 +1,3 @@ +class Solution: + def hammingWeight(self, n: int) -> int: + return bin(n).count("1") diff --git a/reverse-bits/saysimple.py b/reverse-bits/saysimple.py new file mode 100644 index 000000000..9911f07cf --- /dev/null +++ b/reverse-bits/saysimple.py @@ -0,0 +1,3 @@ +class Solution: + def reverseBits(self, n: int) -> int: + return int(f"{bin(n)[2:]:0>32}"[::-1], 2) From bddde12cf818012f84766eed6d532e9219059426 Mon Sep 17 00:00:00 2001 From: khw0828 <97077535+gusdn0828@users.noreply.github.com> Date: Sun, 26 May 2024 02:36:14 +0900 Subject: [PATCH 4/4] =?UTF-8?q?feat:=20TC,=20SC=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- counting-bits/saysimple.py | 2 ++ group-anagrams/saysimple.py | 2 ++ missing-number/saysimple.py | 2 ++ number-of-1-bits/saysimple.py | 2 ++ reverse-bits/saysimple.py | 2 ++ 5 files changed, 10 insertions(+) diff --git a/counting-bits/saysimple.py b/counting-bits/saysimple.py index 20a902e11..1e6d543e2 100644 --- a/counting-bits/saysimple.py +++ b/counting-bits/saysimple.py @@ -1,3 +1,5 @@ +# TC: O(n), SC: O(n) + class Solution: def countBits(self, n: int) -> List[int]: answer = [] diff --git a/group-anagrams/saysimple.py b/group-anagrams/saysimple.py index bd7640944..4bf537328 100644 --- a/group-anagrams/saysimple.py +++ b/group-anagrams/saysimple.py @@ -1,3 +1,5 @@ +# TC: O(n), SC: O(n) + from collections import defaultdict class Solution: diff --git a/missing-number/saysimple.py b/missing-number/saysimple.py index 1ca9af3c4..9a5fc6755 100644 --- a/missing-number/saysimple.py +++ b/missing-number/saysimple.py @@ -1,3 +1,5 @@ +# TC: O(n), SC: O(1) + class Solution: def missingNumber(self, nums: List[int]) -> int: for i in range(len(nums)+1): diff --git a/number-of-1-bits/saysimple.py b/number-of-1-bits/saysimple.py index 7ef7ebf0b..d9011b99a 100644 --- a/number-of-1-bits/saysimple.py +++ b/number-of-1-bits/saysimple.py @@ -1,3 +1,5 @@ +# TC: O(1), SC: O(1) + class Solution: def hammingWeight(self, n: int) -> int: return bin(n).count("1") diff --git a/reverse-bits/saysimple.py b/reverse-bits/saysimple.py index 9911f07cf..136bc3d2f 100644 --- a/reverse-bits/saysimple.py +++ b/reverse-bits/saysimple.py @@ -1,3 +1,5 @@ +# TC: O(1), SC: O(1) + class Solution: def reverseBits(self, n: int) -> int: return int(f"{bin(n)[2:]:0>32}"[::-1], 2)