diff --git a/HamSungJun/Solution_1022.ts b/HamSungJun/Solution_1022.ts new file mode 100644 index 0000000..1f78291 --- /dev/null +++ b/HamSungJun/Solution_1022.ts @@ -0,0 +1,22 @@ +function sumRootToLeaf (root: TreeNode | null): number { + const basket: string[] = [] + traversal(root, basket, '') + return basket.reduce((acc, curr) => (acc += binToDec(curr)), 0) +}; + +function traversal (node: TreeNode | null, basket: string[], out: string): void { + if (!node.left && !node.right) { + basket.push(out + node.val) + } else { + if (node.left) { + traversal(node.left, basket, out + node.val) + } + if (node.right) { + traversal(node.right, basket, out + node.val) + } + } +} + +function binToDec (bin: string): number { + return parseInt(bin, 2) +} diff --git a/HamSungJun/Solution_1929.ts b/HamSungJun/Solution_1929.ts new file mode 100644 index 0000000..8d35605 --- /dev/null +++ b/HamSungJun/Solution_1929.ts @@ -0,0 +1,3 @@ +function getConcatenation (nums: number[]): number[] { + return [...nums, ...nums] +}; diff --git a/HamSungJun/Solution_944.ts b/HamSungJun/Solution_944.ts new file mode 100644 index 0000000..e2d61ce --- /dev/null +++ b/HamSungJun/Solution_944.ts @@ -0,0 +1,18 @@ +function minDeletionSize (strs: string[]): number { + if (strs.length <= 1) return 0 + let delCount = 0 + for (let i = 0; i < strs[0].length; i++) { + delCount += (isSorted(strs, i) ? 0 : 1) + } + return delCount +}; + +//* 오름차순인지 내림차순인지까지도 한번 확인하고 가야하는 함수를 짜야되는줄 알았다 -__- 사전순은 기본 오름차순이구나 +const isSorted = (arr: string[], col: number): boolean => { + for (let i = 0; i < arr.length - 1; i++) { + if (arr[i][col] > arr[i + 1][col]) { + return false + } + } + return true +}