diff --git a/HamSungJun/Solution_1837.ts b/HamSungJun/Solution_1837.ts new file mode 100644 index 0000000..02fc7e8 --- /dev/null +++ b/HamSungJun/Solution_1837.ts @@ -0,0 +1,3 @@ +function sumBase (n: number, k: number): number { + return n.toString(k).split('').reduce((acc, curr) => (acc += +curr), 0) +}; diff --git a/HamSungJun/Solution_728.ts b/HamSungJun/Solution_728.ts new file mode 100644 index 0000000..83987ee --- /dev/null +++ b/HamSungJun/Solution_728.ts @@ -0,0 +1,21 @@ +function selfDividingNumbers (left: number, right: number): number[] { + const answers = [] + for (let i = left; i <= right; i++) { + if (isSelfDivide(i)) { + answers.push(i) + } + } + return answers +}; + +function isSelfDivide (num: number): boolean { + let numCopy = num + while (numCopy > 0) { + const nextDivider = numCopy % 10 + if (num % nextDivider !== 0) { + return false + } + numCopy = Math.floor(numCopy / 10) + } + return true +} diff --git a/HamSungJun/Solution_942.ts b/HamSungJun/Solution_942.ts new file mode 100644 index 0000000..62eebaa --- /dev/null +++ b/HamSungJun/Solution_942.ts @@ -0,0 +1,22 @@ +function diStringMatch (s: string): number[] { + let cursor = 0 + let p1 = 0 + let p2 = s.length + const answer = [] + while (p1 <= p2 && cursor < s.length) { + const nextStr = s[cursor] + switch (nextStr) { + case 'I': + answer.push(p1++) + break + case 'D': + answer.push(p2--) + break + } + cursor += 1 + } + answer.push(p1) + return answer +}; + +console.log(diStringMatch('IDID'))