From 158c09670b4114e42c8142b17b2793616c9a7ebb Mon Sep 17 00:00:00 2001 From: JungHm Date: Wed, 2 Jul 2025 17:56:11 +0900 Subject: [PATCH 1/2] counting bits solve --- counting-bits/JustHm.swift | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 counting-bits/JustHm.swift diff --git a/counting-bits/JustHm.swift b/counting-bits/JustHm.swift new file mode 100644 index 000000000..c8aa39f6c --- /dev/null +++ b/counting-bits/JustHm.swift @@ -0,0 +1,14 @@ +// time: O(n) +// approach - 2자리 3자리 ... 로 2진법 변환시 맨 앞 1은 고정이다. +// 그 이후 나머지는 0~N자리일때 총 1의 갯수 를 더해줬다. +class Solution { + func countBits(_ n: Int) -> [Int] { + var answer: [Int] = [0, 1] + + while answer.count < n + 1 { + answer += answer.map{$0 + 1} + } + + return [Int](answer.prefix(n + 1)) + } +} From 91d00679a235cbc16c97d5cc3505209ed3cde64d Mon Sep 17 00:00:00 2001 From: JungHm Date: Sat, 5 Jul 2025 21:38:26 +0900 Subject: [PATCH 2/2] solve: binary tree level order traversal --- binary-tree-level-order-traversal/JustHm.swift | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 binary-tree-level-order-traversal/JustHm.swift diff --git a/binary-tree-level-order-traversal/JustHm.swift b/binary-tree-level-order-traversal/JustHm.swift new file mode 100644 index 000000000..27e99ffdd --- /dev/null +++ b/binary-tree-level-order-traversal/JustHm.swift @@ -0,0 +1,17 @@ +// 재귀 함수로 해결 +// 각 노드의 레벨을 기억하고있다가 정답변수에 레벨별로 노드값을 넣어줌 +class Solution { + func levelOrder(_ root: TreeNode?) -> [[Int]] { + var answer = [[Int]]() + searchNodes(0, root, &answer) + return answer + } + + func searchNodes(_ level: Int, _ node: TreeNode?, _ answer: inout [[Int]]) { + guard let node else { return } + if level >= answer.count { answer.append([]) } + answer[level].append(node.val) + searchNodes(level + 1, node.left, &answer) + searchNodes(level + 1, node.right, &answer) + } +}