From 1b7aaadf80f9758a9fc1fe7fc75f27aa02d09a81 Mon Sep 17 00:00:00 2001 From: sanghee01 Date: Mon, 23 Dec 2024 16:44:10 +0900 Subject: [PATCH 01/19] =?UTF-8?q?=EC=A4=91=EB=B3=B5=EB=90=9C=20=ED=8C=8C?= =?UTF-8?q?=EC=9D=BC=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...355\225\234\354\204\240\354\210\230_1655.js" | 17 ----------------- ...47\214\353\223\244\352\270\260_2107_2108.js" | 15 --------------- 2 files changed, 32 deletions(-) delete mode 100644 "sanghee/javascript/\354\231\204\354\243\274\355\225\230\354\247\200\353\252\273\355\225\234\354\204\240\354\210\230_1655.js" delete mode 100644 "sanghee/javascript/\354\265\234\354\206\237\352\260\222\353\247\214\353\223\244\352\270\260_2107_2108.js" diff --git "a/sanghee/javascript/\354\231\204\354\243\274\355\225\230\354\247\200\353\252\273\355\225\234\354\204\240\354\210\230_1655.js" "b/sanghee/javascript/\354\231\204\354\243\274\355\225\230\354\247\200\353\252\273\355\225\234\354\204\240\354\210\230_1655.js" deleted file mode 100644 index 57269b4..0000000 --- "a/sanghee/javascript/\354\231\204\354\243\274\355\225\230\354\247\200\353\252\273\355\225\234\354\204\240\354\210\230_1655.js" +++ /dev/null @@ -1,17 +0,0 @@ -function solution(participants, completions) { - const hash = new Map(); - - participants.forEach((participant) => { - hash.set(participant, (hash.get(participant) || 0) + 1); - }); - - completions.forEach((completion) => { - hash.set(completion, hash.get(completion) - 1); - }); - - for (let [key, value] of hash) { - if (value > 0) { - return key; - } - } -} \ No newline at end of file diff --git "a/sanghee/javascript/\354\265\234\354\206\237\352\260\222\353\247\214\353\223\244\352\270\260_2107_2108.js" "b/sanghee/javascript/\354\265\234\354\206\237\352\260\222\353\247\214\353\223\244\352\270\260_2107_2108.js" deleted file mode 100644 index f5c1cf3..0000000 --- "a/sanghee/javascript/\354\265\234\354\206\237\352\260\222\353\247\214\353\223\244\352\270\260_2107_2108.js" +++ /dev/null @@ -1,15 +0,0 @@ -function solution(A, B) { - let sum = 0; - const L = A.length; - - A.sort((a, b) => a - b); - B.sort((a, b) => b - a); - - for (let i = 0; i < L; i++) { - sum += A[i] * B[i]; - } - - return sum; -} - -console.log(solution([1, 4, 2], [5, 4, 4])); \ No newline at end of file From d96b2635fd63d0b2507b847bd6df4481fa1ab210 Mon Sep 17 00:00:00 2001 From: sanghee01 Date: Mon, 23 Dec 2024 17:28:33 +0900 Subject: [PATCH 02/19] =?UTF-8?q?solve:=20=EC=A0=84=ED=99=94=EB=B2=88?= =?UTF-8?q?=ED=98=B8=20=EB=AA=A9=EB=A1=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...10\355\230\270 \353\252\251\353\241\235.js" | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 "sanghee/javascript/\354\240\204\355\231\224\353\262\210\355\230\270 \353\252\251\353\241\235.js" diff --git "a/sanghee/javascript/\354\240\204\355\231\224\353\262\210\355\230\270 \353\252\251\353\241\235.js" "b/sanghee/javascript/\354\240\204\355\231\224\353\262\210\355\230\270 \353\252\251\353\241\235.js" new file mode 100644 index 0000000..5e42537 --- /dev/null +++ "b/sanghee/javascript/\354\240\204\355\231\224\353\262\210\355\230\270 \353\252\251\353\241\235.js" @@ -0,0 +1,18 @@ +function solution(phone_book) { + let hash = new Map(); + + phone_book.forEach((phone) => { + hash.set(phone, true); + }); + + for (let phone of phone_book) { + for (let i = 1; i < phone.length; i++) { + let prefix = phone.substring(0, i); // 접두어 추출 + if (hash.has(prefix)) return false; // 접두어가 존재하면 false 반환 + } + } + + return true; // 접두어 관계가 없으면 true 반환 +} + +console.log(solution(["119", "97674223", "1195524421"])); From 8e17a239065d647f7c78eba656ca4c9778a59f90 Mon Sep 17 00:00:00 2001 From: sanghee01 Date: Tue, 24 Dec 2024 22:20:05 +0900 Subject: [PATCH 03/19] =?UTF-8?q?solve:=20=EC=A7=9D=EC=A7=80=EC=96=B4=20?= =?UTF-8?q?=EC=A0=9C=EA=B1=B0=ED=95=98=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\240\234\352\261\260\355\225\230\352\270\260.js" | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 "sanghee/javascript/\354\247\235\354\247\200\354\226\264 \354\240\234\352\261\260\355\225\230\352\270\260.js" diff --git "a/sanghee/javascript/\354\247\235\354\247\200\354\226\264 \354\240\234\352\261\260\355\225\230\352\270\260.js" "b/sanghee/javascript/\354\247\235\354\247\200\354\226\264 \354\240\234\352\261\260\355\225\230\352\270\260.js" new file mode 100644 index 0000000..2cc5cf7 --- /dev/null +++ "b/sanghee/javascript/\354\247\235\354\247\200\354\226\264 \354\240\234\352\261\260\355\225\230\352\270\260.js" @@ -0,0 +1,13 @@ +function solution(s) { + let stack = []; + + for (let char of s) { + if (stack.length > 0 && stack[stack.length - 1] === char) { + stack.pop(); + } else { + stack.push(char); + } + } + + return stack.length === 0 ? 1 : 0; +} From d0d23303fdfa759537c693f295979abd77894051 Mon Sep 17 00:00:00 2001 From: sanghee01 Date: Tue, 31 Dec 2024 20:00:42 +0900 Subject: [PATCH 04/19] =?UTF-8?q?docs:=20=EC=A4=91=EB=B3=B5=20=ED=8C=8C?= =?UTF-8?q?=EC=9D=BC=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sanghee/javascript/prob9426_2228.js | 13 ------------- ...55\230\270\353\252\251\353\241\235_1741.js" | 18 ------------------ 2 files changed, 31 deletions(-) delete mode 100644 sanghee/javascript/prob9426_2228.js delete mode 100644 "sanghee/javascript/\354\240\204\355\231\224\353\262\210\355\230\270\353\252\251\353\241\235_1741.js" diff --git a/sanghee/javascript/prob9426_2228.js b/sanghee/javascript/prob9426_2228.js deleted file mode 100644 index d97c735..0000000 --- a/sanghee/javascript/prob9426_2228.js +++ /dev/null @@ -1,13 +0,0 @@ -function solution(s) { - let stack = []; - - for (let char of s) { - if (stack.length > 0 && stack[stack.length - 1] === char) { - stack.pop(); - } else { - stack.push(char); - } - } - - return stack.length === 0 ? 1 : 0; -} \ No newline at end of file diff --git "a/sanghee/javascript/\354\240\204\355\231\224\353\262\210\355\230\270\353\252\251\353\241\235_1741.js" "b/sanghee/javascript/\354\240\204\355\231\224\353\262\210\355\230\270\353\252\251\353\241\235_1741.js" deleted file mode 100644 index 0687cae..0000000 --- "a/sanghee/javascript/\354\240\204\355\231\224\353\262\210\355\230\270\353\252\251\353\241\235_1741.js" +++ /dev/null @@ -1,18 +0,0 @@ -function solution(phone_book) { - let hash = new Map(); - - phone_book.forEach((phone) => { - hash.set(phone, true); - }); - - for (let phone of phone_book) { - for (let i = 1; i < phone.length; i++) { - let prefix = phone.substring(0, i); // 접두어 추출 - if (hash.has(prefix)) return false; // 접두어가 존재하면 false 반환 - } - } - - return true; // 접두어 관계가 없으면 true 반환 -} - -console.log(solution(["119", "97674223", "1195524421"])); \ No newline at end of file From ff582fc90aa646c58e5f623173241e48cae23826 Mon Sep 17 00:00:00 2001 From: sanghee01 Date: Wed, 1 Jan 2025 21:38:34 +0900 Subject: [PATCH 05/19] =?UTF-8?q?solve:=20=EC=9D=B4=EC=A7=84=20=EB=B3=80?= =?UTF-8?q?=ED=99=98=20=EB=B0=98=EB=B3=B5=ED=95=98=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...3\260\230\353\263\265\355\225\230\352\270\260.js" | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 "sanghee/javascript/\354\235\264\354\247\204 \353\263\200\355\231\230 \353\260\230\353\263\265\355\225\230\352\270\260.js" diff --git "a/sanghee/javascript/\354\235\264\354\247\204 \353\263\200\355\231\230 \353\260\230\353\263\265\355\225\230\352\270\260.js" "b/sanghee/javascript/\354\235\264\354\247\204 \353\263\200\355\231\230 \353\260\230\353\263\265\355\225\230\352\270\260.js" new file mode 100644 index 0000000..2a44a3d --- /dev/null +++ "b/sanghee/javascript/\354\235\264\354\247\204 \353\263\200\355\231\230 \353\260\230\353\263\265\355\225\230\352\270\260.js" @@ -0,0 +1,12 @@ +function solution(s) { + let count = 0; + let deleteZeroCount = 0; + + while (s !== "1") { + count++; + withoutZeros = s.replaceAll("0", ""); + deleteZeroCount += s.length - withoutZeros.length; + s = withoutZeros.length.toString(2); + } + return [count, deleteZeroCount]; +} From aadbdb23f6647041bdef5021c5a992487c8cdc9d Mon Sep 17 00:00:00 2001 From: sanghee01 Date: Thu, 2 Jan 2025 23:37:32 +0900 Subject: [PATCH 06/19] =?UTF-8?q?solve:=20JadenCase=20=EB=AC=B8=EC=9E=90?= =?UTF-8?q?=EC=97=B4=20=EB=A7=8C=EB=93=A4=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\354\227\264 \353\247\214\353\223\244\352\270\260.js" | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 "sanghee/javascript/JadenCase \353\254\270\354\236\220\354\227\264 \353\247\214\353\223\244\352\270\260.js" diff --git "a/sanghee/javascript/JadenCase \353\254\270\354\236\220\354\227\264 \353\247\214\353\223\244\352\270\260.js" "b/sanghee/javascript/JadenCase \353\254\270\354\236\220\354\227\264 \353\247\214\353\223\244\352\270\260.js" new file mode 100644 index 0000000..783b276 --- /dev/null +++ "b/sanghee/javascript/JadenCase \353\254\270\354\236\220\354\227\264 \353\247\214\353\223\244\352\270\260.js" @@ -0,0 +1,9 @@ +function solution(s) { + const result = s.split(" ").map((word) => { + return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase(); + }); + + return result.join(" "); +} + +console.log(solution("3people unFollowed me")); From 704750d3d873e59c4d4f7350be6b817a2fd00723 Mon Sep 17 00:00:00 2001 From: sanghee01 Date: Fri, 3 Jan 2025 13:40:38 +0900 Subject: [PATCH 07/19] =?UTF-8?q?solve:=20=EC=B9=B4=ED=8E=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "sanghee/javascript/\354\271\264\355\216\253.js" | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 "sanghee/javascript/\354\271\264\355\216\253.js" diff --git "a/sanghee/javascript/\354\271\264\355\216\253.js" "b/sanghee/javascript/\354\271\264\355\216\253.js" new file mode 100644 index 0000000..dbd3d3c --- /dev/null +++ "b/sanghee/javascript/\354\271\264\355\216\253.js" @@ -0,0 +1,8 @@ +function solution(brown, yellow) { + for (let i = 1; i <= yellow; i++) { + if (yellow % i === 0 && brown === (yellow / i + i + 2) * 2) + return [yellow / i + 2, i + 2]; + } +} + +console.log(solution(10, 2)); From a493bf41ae13cb5e10ee6ddf9db4f2e05f74e2e8 Mon Sep 17 00:00:00 2001 From: sanghee01 Date: Sat, 4 Jan 2025 20:56:29 +0900 Subject: [PATCH 08/19] =?UTF-8?q?solve:=20=EC=88=AB=EC=9E=90=EC=9D=98=20?= =?UTF-8?q?=ED=91=9C=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0\354\235\230 \355\221\234\355\230\204.js" | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 "sanghee/javascript/\354\210\253\354\236\220\354\235\230 \355\221\234\355\230\204.js" diff --git "a/sanghee/javascript/\354\210\253\354\236\220\354\235\230 \355\221\234\355\230\204.js" "b/sanghee/javascript/\354\210\253\354\236\220\354\235\230 \355\221\234\355\230\204.js" new file mode 100644 index 0000000..c27133b --- /dev/null +++ "b/sanghee/javascript/\354\210\253\354\236\220\354\235\230 \355\221\234\355\230\204.js" @@ -0,0 +1,24 @@ +function solution(n) { + let count = 0; + let left = 1; + let right = 0; + let sum = 0; + + while (right <= n) { + if (sum < n) { + right += 1; + sum += right; + } else if (sum > n) { + sum -= left; + left += 1; + } else if (sum === n) { + count++; + sum -= left; + left += 1; + } + } + + return count; +} + +console.log(solution(15)); From 420d9f95a01545b2597030499bb56f34818aab40 Mon Sep 17 00:00:00 2001 From: sanghee01 Date: Sun, 5 Jan 2025 18:47:15 +0900 Subject: [PATCH 09/19] =?UTF-8?q?solve:=20=EC=98=81=EC=96=B4=20=EB=81=9D?= =?UTF-8?q?=EB=A7=90=EC=9E=87=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...35\353\247\220\354\236\207\352\270\260.js" | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 "sanghee/javascript/\354\230\201\354\226\264 \353\201\235\353\247\220\354\236\207\352\270\260.js" diff --git "a/sanghee/javascript/\354\230\201\354\226\264 \353\201\235\353\247\220\354\236\207\352\270\260.js" "b/sanghee/javascript/\354\230\201\354\226\264 \353\201\235\353\247\220\354\236\207\352\270\260.js" new file mode 100644 index 0000000..35845d0 --- /dev/null +++ "b/sanghee/javascript/\354\230\201\354\226\264 \353\201\235\353\247\220\354\236\207\352\270\260.js" @@ -0,0 +1,20 @@ +function solution(n, words) { + const wordList = []; + + for (let i = 0; i < words.length; i++) { + if ( + wordList.includes(words[i]) || + (wordList.length > 0 && wordList.at(-1).at(-1) !== words[i][0]) + ) { + return [(i % n) + 1, Math.floor(i / n) + 1]; + } + + wordList.push(words[i]); + } + + return [0, 0]; +} + +console.log( + solution(2, ["hello", "one", "even", "never", "now", "world", "draw"]) // [1, 3] +); From 9bb6c53e0d1647a4818854c6d108b607ad69f54c Mon Sep 17 00:00:00 2001 From: sanghee01 Date: Mon, 6 Jan 2025 21:21:02 +0900 Subject: [PATCH 10/19] =?UTF-8?q?solve:=20=EB=8C=80=ED=91=9C=EA=B0=922?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../\353\214\200\355\221\234\352\260\2222.js" | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 "sanghee/javascript/\353\214\200\355\221\234\352\260\2222.js" diff --git "a/sanghee/javascript/\353\214\200\355\221\234\352\260\2222.js" "b/sanghee/javascript/\353\214\200\355\221\234\352\260\2222.js" new file mode 100644 index 0000000..848608a --- /dev/null +++ "b/sanghee/javascript/\353\214\200\355\221\234\352\260\2222.js" @@ -0,0 +1,19 @@ +const numbers = require("fs") + .readFileSync("./input.txt") + .toString() + .trim() + .split("\n") + .map(Number); + +function getAverage(numbers) { + const sum = numbers.reduce((acc, cur) => acc + cur, 0); + return sum / numbers.length; +} + +function getMedian(numbers) { + numbers.sort((a, b) => a - b); + return numbers[Math.floor(numbers.length / 2)]; +} + +console.log(getAverage(numbers)); +console.log(getMedian(numbers)); From 6fce51f0045093d42b75e4ab95a61821f684e6af Mon Sep 17 00:00:00 2001 From: sanghee01 Date: Wed, 8 Jan 2025 19:54:18 +0900 Subject: [PATCH 11/19] =?UTF-8?q?solve:=20=EC=8A=A4=ED=83=9D2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../javascript/\354\212\244\355\203\2352.js" | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 "sanghee/javascript/\354\212\244\355\203\2352.js" diff --git "a/sanghee/javascript/\354\212\244\355\203\2352.js" "b/sanghee/javascript/\354\212\244\355\203\2352.js" new file mode 100644 index 0000000..167233d --- /dev/null +++ "b/sanghee/javascript/\354\212\244\355\203\2352.js" @@ -0,0 +1,38 @@ +const input = require("fs") + .readFileSync("./input.txt") + .toString() + .trim() + .split("\n"); + +const N = Number(input.shift()); +const stack = []; +const answer = []; + +for (let i = 0; i < N; i++) { + const option = input[i].split(" ").map(Number); + if (option[0] === 1) { + stack.push(option[1]); + } else if (option[0] === 2) { + if (stack.length > 0) { + answer.push(stack.pop()); + } else { + answer.push(-1); + } + } else if (option[0] === 3) { + answer.push(stack.length); + } else if (option[0] === 4) { + if (stack.length > 0) { + answer.push(0); + } else { + answer.push(1); + } + } else if (option[0] === 5) { + if (stack.length > 0) { + answer.push(stack.at(-1)); + } else { + answer.push(-1); + } + } +} + +console.log(answer.join("\n")); From fc1ee483f47cd11e3b3e82f67ae6a2a620be6355 Mon Sep 17 00:00:00 2001 From: sanghee01 Date: Sat, 11 Jan 2025 16:43:14 +0900 Subject: [PATCH 12/19] =?UTF-8?q?solve:=20=EA=B4=84=ED=98=B8=20=ED=9A=8C?= =?UTF-8?q?=EC=A0=84=ED=95=98=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...14\354\240\204\355\225\230\352\270\260.js" | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 "sanghee/javascript/\352\264\204\355\230\270 \355\232\214\354\240\204\355\225\230\352\270\260.js" diff --git "a/sanghee/javascript/\352\264\204\355\230\270 \355\232\214\354\240\204\355\225\230\352\270\260.js" "b/sanghee/javascript/\352\264\204\355\230\270 \355\232\214\354\240\204\355\225\230\352\270\260.js" new file mode 100644 index 0000000..4f47ce4 --- /dev/null +++ "b/sanghee/javascript/\352\264\204\355\230\270 \355\232\214\354\240\204\355\225\230\352\270\260.js" @@ -0,0 +1,39 @@ +function solution(s) { + let count = 0; + const brackets = s.split(""); + + for (let i = 0; i < s.length; i++) { + if (isBracket(brackets)) count++; + brackets.push(brackets.shift()); // 괄호 회전 + } + return count; +} + +function isBracket(brackets) { + const stack = []; + let isRight = true; + + for (let j = 0; j < brackets.length; j++) { + if (brackets[j] === "(" || brackets[j] === "{" || brackets[j] === "[") { + stack.push(brackets[j]); + continue; + } + if (brackets[j] === ")" && stack.at(-1) === "(") { + stack.pop(); + continue; + } + if (brackets[j] === "}" && stack.at(-1) === "{") { + stack.pop(); + continue; + } + if (brackets[j] === "]" && stack.at(-1) === "[") { + stack.pop(); + continue; + } + isRight = false; + break; + } + if (stack.length === 0 && isRight) return true; +} + +console.log(solution("[](){}")); From 8025631fefeb0a2c06384054a7ba191325bab4f6 Mon Sep 17 00:00:00 2001 From: sanghee01 Date: Tue, 14 Jan 2025 16:10:58 +0900 Subject: [PATCH 13/19] =?UTF-8?q?solve:=20=EC=A0=90=ED=94=84=EC=99=80=20?= =?UTF-8?q?=EC=88=9C=EA=B0=84=20=EC=9D=B4=EB=8F=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\234\352\260\204 \354\235\264\353\217\231.js" | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 "sanghee/javascript/\354\240\220\355\224\204\354\231\200 \354\210\234\352\260\204 \354\235\264\353\217\231.js" diff --git "a/sanghee/javascript/\354\240\220\355\224\204\354\231\200 \354\210\234\352\260\204 \354\235\264\353\217\231.js" "b/sanghee/javascript/\354\240\220\355\224\204\354\231\200 \354\210\234\352\260\204 \354\235\264\353\217\231.js" new file mode 100644 index 0000000..6c154b7 --- /dev/null +++ "b/sanghee/javascript/\354\240\220\355\224\204\354\231\200 \354\210\234\352\260\204 \354\235\264\353\217\231.js" @@ -0,0 +1,16 @@ +function solution(n) { + let answer = 0; + + while (n !== 0) { + if (Number.isInteger(n / 2)) { + n /= 2; + } else { + n -= 1; + answer += 1; + } + } + + return answer; +} + +console.log(solution(6)); From 98f0fff37aacc6b08f437b767b4e05ab3a1bcd8f Mon Sep 17 00:00:00 2001 From: sanghee01 Date: Wed, 15 Jan 2025 20:53:07 +0900 Subject: [PATCH 14/19] =?UTF-8?q?solve:=20=EB=8B=A4=EC=9D=8C=20=ED=81=B0?= =?UTF-8?q?=20=EC=88=AB=EC=9E=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...35\214 \355\201\260 \354\210\253\354\236\220.js" | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 "sanghee/javascript/\353\213\244\354\235\214 \355\201\260 \354\210\253\354\236\220.js" diff --git "a/sanghee/javascript/\353\213\244\354\235\214 \355\201\260 \354\210\253\354\236\220.js" "b/sanghee/javascript/\353\213\244\354\235\214 \355\201\260 \354\210\253\354\236\220.js" new file mode 100644 index 0000000..46438c8 --- /dev/null +++ "b/sanghee/javascript/\353\213\244\354\235\214 \355\201\260 \354\210\253\354\236\220.js" @@ -0,0 +1,13 @@ +function solution(n) { + let lagerNum = n + 1; + let nBinOneCount = n.toString(2).match(/1/g).length; + + while (lagerNum <= 1_000_000) { + if (lagerNum.toString(2).match(/1/g).length === nBinOneCount) { + return lagerNum; + } + lagerNum += 1; + } +} + +console.log(solution(15)); From c32a9c085b0b2b6d3b0c8aaf0c183970329a99c3 Mon Sep 17 00:00:00 2001 From: sanghee01 Date: Thu, 16 Jan 2025 20:31:35 +0900 Subject: [PATCH 15/19] =?UTF-8?q?solve:=20=EB=93=A3=EB=B3=B4=EC=9E=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../\353\223\243\353\263\264\354\236\241.js" | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 "sanghee/javascript/\353\223\243\353\263\264\354\236\241.js" diff --git "a/sanghee/javascript/\353\223\243\353\263\264\354\236\241.js" "b/sanghee/javascript/\353\223\243\353\263\264\354\236\241.js" new file mode 100644 index 0000000..03ab9ec --- /dev/null +++ "b/sanghee/javascript/\353\223\243\353\263\264\354\236\241.js" @@ -0,0 +1,41 @@ +const input = require("fs") + .readFileSync("./input.txt") + .toString() + .trim() + .split("\n"); + +const [N, M] = input.shift().split(" ").map(Number); +input.sort(); +const list = new Map(); +let count = 0; + +for (let i = 0; i < N + M; i++) { + list.set(input[i], list.get(input[i]) + 1 || 0); + if (list.get(input[i]) > 0) count++; +} + +console.log(count); + +list.forEach((value, key) => { + if (value > 0) console.log(key); +}); + +/** + * Set을 이용한 풀이 - 더 깔끔한듯 + +const [N, M] = input.shift().split(" ").map(Number); +const unheard = new Set(input.slice(0, N)); // 듣도 못한 사람 +const unseen = new Set(input.slice(N)); // 보도 못한 사람 + +// 교집합 찾기 +const intersection = [...unheard].filter((person) => unseen.has(person)); + +// 사전순 정렬 +intersection.sort(); + +// 출력 +console.log(intersection.length); +console.log(intersection.join("\n")); + + * + */ From 3f9b42dc3c1cf54ff109a87f43d21eb94ab8562b Mon Sep 17 00:00:00 2001 From: sanghee01 Date: Fri, 17 Jan 2025 15:54:02 +0900 Subject: [PATCH 16/19] =?UTF-8?q?solve:=20=ED=94=BC=EB=B3=B4=EB=82=98?= =?UTF-8?q?=EC=B9=98=20=EC=88=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\263\264\353\202\230\354\271\230 \354\210\230.js" | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 "sanghee/javascript/\355\224\274\353\263\264\353\202\230\354\271\230 \354\210\230.js" diff --git "a/sanghee/javascript/\355\224\274\353\263\264\353\202\230\354\271\230 \354\210\230.js" "b/sanghee/javascript/\355\224\274\353\263\264\353\202\230\354\271\230 \354\210\230.js" new file mode 100644 index 0000000..3455595 --- /dev/null +++ "b/sanghee/javascript/\355\224\274\353\263\264\353\202\230\354\271\230 \354\210\230.js" @@ -0,0 +1,12 @@ +function solution(n) { + const f = new Array(n + 1).fill(0); + f[0] = 0; + f[1] = 1; + + for (let i = 2; i <= n; i++) { + f[i] = (f[i - 2] + f[i - 1]) % 1234567; + } + + return f[n]; +} +console.log(solution(10)); From 6d2faa1626a68c51dd9fb327b5a169e53d7b42ac Mon Sep 17 00:00:00 2001 From: sanghee01 Date: Mon, 20 Jan 2025 15:02:30 +0900 Subject: [PATCH 17/19] =?UTF-8?q?solve:=20=EC=9D=98=EC=83=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../javascript/\354\235\230\354\203\201.js" | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 "sanghee/javascript/\354\235\230\354\203\201.js" diff --git "a/sanghee/javascript/\354\235\230\354\203\201.js" "b/sanghee/javascript/\354\235\230\354\203\201.js" new file mode 100644 index 0000000..499c5cf --- /dev/null +++ "b/sanghee/javascript/\354\235\230\354\203\201.js" @@ -0,0 +1,25 @@ +function solution(clothes) { + const clothesMap = new Map(); + + // Map에 의상 종류별로 개수를 저장 + for (const [value, key] of clothes) { + clothesMap.set(key, (clothesMap.get(key) || 0) + 1); + } + + // 모든 경우의 수 계산 + let totalCombinations = 1; + clothesMap.forEach((count) => { + totalCombinations *= count + 1; // 착용하지 않는 경우 포함 + }); + + // 아무것도 입지 않는 경우 제외 + return totalCombinations - 1; +} + +console.log( + solution([ + ["yellow_hat", "headgear"], + ["blue_sunglasses", "eyewear"], + ["green_turban", "headgear"], + ]) +); From c8486867280714e12fdf08753598f124eaf086f5 Mon Sep 17 00:00:00 2001 From: sanghee01 Date: Wed, 22 Jan 2025 22:18:46 +0900 Subject: [PATCH 18/19] =?UTF-8?q?solve:=20=EB=A1=9C=EA=B7=B8=EC=9D=B8=20?= =?UTF-8?q?=EC=84=B1=EA=B3=B5=3F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0\354\235\270 \354\204\261\352\263\265.js" | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 "sanghee/javascript/\353\241\234\352\267\270\354\235\270 \354\204\261\352\263\265.js" diff --git "a/sanghee/javascript/\353\241\234\352\267\270\354\235\270 \354\204\261\352\263\265.js" "b/sanghee/javascript/\353\241\234\352\267\270\354\235\270 \354\204\261\352\263\265.js" new file mode 100644 index 0000000..458e24c --- /dev/null +++ "b/sanghee/javascript/\353\241\234\352\267\270\354\235\270 \354\204\261\352\263\265.js" @@ -0,0 +1,21 @@ +function solution([id, pw], db) { + let answer = "fail"; + const database = new Map(db); + + if (database.has(id)) { + answer = database.get(id) === pw ? "login" : "wrong pw"; + } + + return answer; +} + +console.log( + solution( + ["meosseugi", "1234"], + [ + ["rardss", "123"], + ["yyoom", "1234"], + ["meosseugi", "1234"], + ] + ) +); From 785db371e3360b900d2b6baff70731e4f67518f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9D=B4=EC=83=81=ED=9D=AC?= Date: Wed, 22 Jan 2025 22:19:57 +0900 Subject: [PATCH 19/19] Add solution for prob8238_2219 Co-authored-by: sanghee01 --- sanghee/javascript/prob8238_2219.js | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 sanghee/javascript/prob8238_2219.js diff --git a/sanghee/javascript/prob8238_2219.js b/sanghee/javascript/prob8238_2219.js new file mode 100644 index 0000000..936d393 --- /dev/null +++ b/sanghee/javascript/prob8238_2219.js @@ -0,0 +1,21 @@ +function solution([id, pw], db) { + let answer = "fail"; + const database = new Map(db); + + if (database.has(id)) { + answer = database.get(id) === pw ? "login" : "wrong pw"; + } + + return answer; +} + +console.log( + solution( + ["meosseugi", "1234"], + [ + ["rardss", "123"], + ["yyoom", "1234"], + ["meosseugi", "1234"], + ] + ) +); \ No newline at end of file