From bc0814f543ed05b2f93d53f240510f086fa6a809 Mon Sep 17 00:00:00 2001 From: Doyun Lee Date: Thu, 9 Nov 2023 20:27:05 +0900 Subject: [PATCH 01/20] =?UTF-8?q?Lv=201.=20=EB=AA=A8=EC=9D=98=EA=B3=A0?= =?UTF-8?q?=EC=82=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../week5/[Lv 1] Test.js" | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 "\353\217\204\354\234\244/week5/[Lv 1] Test.js" diff --git "a/\353\217\204\354\234\244/week5/[Lv 1] Test.js" "b/\353\217\204\354\234\244/week5/[Lv 1] Test.js" new file mode 100644 index 0000000..d6b0747 --- /dev/null +++ "b/\353\217\204\354\234\244/week5/[Lv 1] Test.js" @@ -0,0 +1,23 @@ +// Lv 1. 모의고사 - 완전탐색 +function solution(answers) { + const sol1 = [1, 2, 3, 4, 5], + sol2 = [2, 1, 2, 3, 2, 4, 2, 5], + sol3 = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5]; + let cnt1 = 0, + cnt2 = 0, + cnt3 = 0; + const answer = []; + + answers.forEach((elm, idx) => { + if (sol1[idx % sol1.length] === elm) cnt1++; + if (sol2[idx % sol2.length] === elm) cnt2++; + if (sol3[idx % sol3.length] === elm) cnt3++; + }); + + const max = Math.max(cnt1, cnt2, cnt3); + if (cnt1 === max) answer.push(1); + if (cnt2 === max) answer.push(2); + if (cnt3 === max) answer.push(3); + + return answer; +} From 7440ab910a3567b91009364ef386ad535b1a4b39 Mon Sep 17 00:00:00 2001 From: Doyun Lee Date: Sat, 11 Nov 2023 00:11:45 +0900 Subject: [PATCH 02/20] =?UTF-8?q?Lv=201.=20=EC=B6=94=EC=96=B5=20=EC=A0=90?= =?UTF-8?q?=EC=88=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../week5/[Lv 1] MemoryScore.js" | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 "\353\217\204\354\234\244/week5/[Lv 1] MemoryScore.js" diff --git "a/\353\217\204\354\234\244/week5/[Lv 1] MemoryScore.js" "b/\353\217\204\354\234\244/week5/[Lv 1] MemoryScore.js" new file mode 100644 index 0000000..0d2a3ad --- /dev/null +++ "b/\353\217\204\354\234\244/week5/[Lv 1] MemoryScore.js" @@ -0,0 +1,15 @@ +// Lv 1. 추억 점수 - 연습문제 +function solution(name, yearning, photo) { + let missingScore = []; + let tmpScr = 0; + for (let i = 0; i < photo.length; i++) { + tmpScr = 0; + for (let j = 0; j < photo[i].length; j++) { + if (name.includes(photo[i][j])) { + tmpScr += yearning[name.indexOf(photo[i][j])]; + } + } + missingScore.push(tmpScr); + } + return missingScore; +} From 50e3bc6a8078b72d3874b764d4795a1fbf401b52 Mon Sep 17 00:00:00 2001 From: Doyun Lee Date: Sat, 11 Nov 2023 00:34:09 +0900 Subject: [PATCH 03/20] =?UTF-8?q?[Lv=202]=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 --- .../week5/[Lv 2] NextBigNumber.js" | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 "\353\217\204\354\234\244/week5/[Lv 2] NextBigNumber.js" diff --git "a/\353\217\204\354\234\244/week5/[Lv 2] NextBigNumber.js" "b/\353\217\204\354\234\244/week5/[Lv 2] NextBigNumber.js" new file mode 100644 index 0000000..fb322cd --- /dev/null +++ "b/\353\217\204\354\234\244/week5/[Lv 2] NextBigNumber.js" @@ -0,0 +1,22 @@ +// Lv 2. 다음 큰 숫자 - 연습문제 +function solution(n) { + const findCnt = (num) => { + return num + .toString(2) + .split("") + .filter((elm) => elm === "1").length; + }; + + let start = n + 1; + let oneCnt = 0; + + while (true) { + oneCnt = findCnt(start); + if (oneCnt === findCnt(n)) { + break; + } + start++; + } + + return start; +} From 367c052d6dd7f038fb9bcf5563817cffdd14e577 Mon Sep 17 00:00:00 2001 From: Doyun Lee Date: Sun, 12 Nov 2023 01:00:14 +0900 Subject: [PATCH 04/20] =?UTF-8?q?[Lv=202]=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 --- .../week5/[Lv 2] Fibonacci.js" | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 "\353\217\204\354\234\244/week5/[Lv 2] Fibonacci.js" diff --git "a/\353\217\204\354\234\244/week5/[Lv 2] Fibonacci.js" "b/\353\217\204\354\234\244/week5/[Lv 2] Fibonacci.js" new file mode 100644 index 0000000..b86ff59 --- /dev/null +++ "b/\353\217\204\354\234\244/week5/[Lv 2] Fibonacci.js" @@ -0,0 +1,13 @@ +// Lv 2. 피보나치 수 - 연습문제 +function solution(n) { + let add1 = 0, + add2 = 1, + sum = 0, + mod = 0; + for (let i = 2; i <= n; i++) { + sum = (add1 + add2) % 1234567; + add1 = add2; + add2 = sum; + } + return sum; +} From d6ffbfcf150c433cdd1ed2769ca3a7be85f197c5 Mon Sep 17 00:00:00 2001 From: Doyun Lee Date: Sun, 12 Nov 2023 01:02:56 +0900 Subject: [PATCH 05/20] =?UTF-8?q?[Lv=201]=20=EB=91=98=EB=A7=8C=EC=9D=98=20?= =?UTF-8?q?=EC=95=94=ED=98=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../week5/[Lv 1] SecretCode.js" | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 "\353\217\204\354\234\244/week5/[Lv 1] SecretCode.js" diff --git "a/\353\217\204\354\234\244/week5/[Lv 1] SecretCode.js" "b/\353\217\204\354\234\244/week5/[Lv 1] SecretCode.js" new file mode 100644 index 0000000..518e86d --- /dev/null +++ "b/\353\217\204\354\234\244/week5/[Lv 1] SecretCode.js" @@ -0,0 +1,13 @@ +// Lv 1. 둘만의 암호 - 연습문제 +function solution(s, skip, index) { + let answer = ""; + const alphArr = Array(26) + .fill() + .map((v, i) => String.fromCharCode(i + 97)) + .filter((elm) => !skip.includes(elm)); + s.split("").forEach((elm, idx) => { + let newIdx = (alphArr.indexOf(elm) + index) % alphArr.length; + answer += alphArr[newIdx]; + }); + return answer; +} From bbad63060a5e3000913858bad8b68bfb77308b72 Mon Sep 17 00:00:00 2001 From: Doyun Lee Date: Wed, 15 Nov 2023 15:06:59 +0900 Subject: [PATCH 06/20] =?UTF-8?q?[Lv=201]=20=ED=91=B8=EB=93=9C=20=ED=8C=8C?= =?UTF-8?q?=EC=9D=B4=ED=8A=B8=20=EB=8C=80=ED=9A=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "\353\217\204\354\234\244/week6/FoodFight.js" | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 "\353\217\204\354\234\244/week6/FoodFight.js" diff --git "a/\353\217\204\354\234\244/week6/FoodFight.js" "b/\353\217\204\354\234\244/week6/FoodFight.js" new file mode 100644 index 0000000..55d2004 --- /dev/null +++ "b/\353\217\204\354\234\244/week6/FoodFight.js" @@ -0,0 +1,8 @@ +// Lv 1. 푸드 파이트 대회 - 연습문제 +function solution(food) { + let perFood = []; + for (let i = 1; i < food.length; i++) { + perFood.push(i.toString().repeat(Math.floor(food[i] / 2))); + } + return perFood.join("") + "0" + perFood.reverse().join(""); +} From 65ccd12c9e201e14a05da88492da7c012e445581 Mon Sep 17 00:00:00 2001 From: Doyun Lee Date: Wed, 15 Nov 2023 23:57:48 +0900 Subject: [PATCH 07/20] =?UTF-8?q?[Lv=201]=20=ED=91=B8=EB=93=9C=20=ED=8C=8C?= =?UTF-8?q?=EC=9D=B4=ED=8A=B8=20=EB=8C=80=ED=9A=8C=20=ED=8C=8C=EC=9D=BC=20?= =?UTF-8?q?=EC=A0=9C=EB=AA=A9=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../week6/[Lv 1] FoodFight.js" | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename "\353\217\204\354\234\244/week6/FoodFight.js" => "\353\217\204\354\234\244/week6/[Lv 1] FoodFight.js" (100%) diff --git "a/\353\217\204\354\234\244/week6/FoodFight.js" "b/\353\217\204\354\234\244/week6/[Lv 1] FoodFight.js" similarity index 100% rename from "\353\217\204\354\234\244/week6/FoodFight.js" rename to "\353\217\204\354\234\244/week6/[Lv 1] FoodFight.js" From da439162cae0b0485e50caba0adc6bdf5bf408fc Mon Sep 17 00:00:00 2001 From: Doyun Lee Date: Wed, 15 Nov 2023 23:59:09 +0900 Subject: [PATCH 08/20] =?UTF-8?q?[Lv=202]=20=EC=98=AC=EB=B0=94=EB=A5=B8=20?= =?UTF-8?q?=EA=B4=84=ED=98=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../week6/[Lv 2] Bracket.js" | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 "\353\217\204\354\234\244/week6/[Lv 2] Bracket.js" diff --git "a/\353\217\204\354\234\244/week6/[Lv 2] Bracket.js" "b/\353\217\204\354\234\244/week6/[Lv 2] Bracket.js" new file mode 100644 index 0000000..5c5f379 --- /dev/null +++ "b/\353\217\204\354\234\244/week6/[Lv 2] Bracket.js" @@ -0,0 +1,25 @@ +// Lv 2. 올바른 괄호 - 스택/큐 +function solution(s) { + const stack = []; + + for (let i = 0; i < s.length; i++) { + stack[stack.length - 1] === "(" && s[i] === ")" + ? stack.pop() + : stack.push(s[i]); + } + + return stack.length === 0 ? true : false; +} + +/* +효율성 검사 통과 풀이 +function solution(s){ + const stack = []; + + for(let i = 0; i < s.length; i++){ + (stack[stack.length-1] === "(" && s[i] === ")") ? stack.pop() : stack.push(s[i]); + + } + + return !stack.length; +} */ From 336ff25b1fdf1b45a139c50c20948ba42958ec76 Mon Sep 17 00:00:00 2001 From: Doyun Lee Date: Thu, 16 Nov 2023 19:17:53 +0900 Subject: [PATCH 09/20] =?UTF-8?q?[Lv=201]=20=EB=8D=A7=EC=B9=A0=ED=95=98?= =?UTF-8?q?=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "\353\217\204\354\234\244/week6/[Lv 1] Paint.js" | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 "\353\217\204\354\234\244/week6/[Lv 1] Paint.js" diff --git "a/\353\217\204\354\234\244/week6/[Lv 1] Paint.js" "b/\353\217\204\354\234\244/week6/[Lv 1] Paint.js" new file mode 100644 index 0000000..6b550d8 --- /dev/null +++ "b/\353\217\204\354\234\244/week6/[Lv 1] Paint.js" @@ -0,0 +1,12 @@ +// Lv 1. 덧칠하기 - 연습문제 +function solution(n, m, section) { + let paint = 0, + answer = 0; + section.forEach((elm) => { + if (elm > paint) { + paint = elm + (m - 1); + answer++; + } + }); + return answer; +} From 505703d01a5b312d9f8a10b3a83368771d673b2d Mon Sep 17 00:00:00 2001 From: Doyun Lee Date: Sat, 18 Nov 2023 19:23:23 +0900 Subject: [PATCH 10/20] =?UTF-8?q?[Lv=201]=20=EC=99=84=EC=A3=BC=ED=95=98?= =?UTF-8?q?=EC=A7=80=20=EB=AA=BB=ED=95=9C=20=EC=84=A0=EC=88=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../week6/[Lv 1] Noncompletion.js" | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 "\353\217\204\354\234\244/week6/[Lv 1] Noncompletion.js" diff --git "a/\353\217\204\354\234\244/week6/[Lv 1] Noncompletion.js" "b/\353\217\204\354\234\244/week6/[Lv 1] Noncompletion.js" new file mode 100644 index 0000000..494f94b --- /dev/null +++ "b/\353\217\204\354\234\244/week6/[Lv 1] Noncompletion.js" @@ -0,0 +1,30 @@ +// Lv 1. 완주하지 못한 선수 - 해시 +function solution(participant, completion) { + let answer = ""; + + participant.sort(); + completion.sort(); + + for (let i = 0; i < participant.length; i++) { + if (participant[i] !== completion[i]) { + answer = participant[i]; + break; + } + } + return answer; +} + +// 첫번째 풀이 - 효율성 검사 통과 X +// function solution(participant, completion){ +// let idx = -1; +// let answer = ""; +// participant.forEach((elm)=> { +// if(completion.includes(elm)){ +// idx = completion.indexOf(elm); +// completion.splice(idx, 1); +// }else{ +// answer = elm; +// } +// }) +// return answer; +// } From 6d1513dd5e15b707adb04f327f3272fc3ba96900 Mon Sep 17 00:00:00 2001 From: Doyun Lee Date: Sat, 18 Nov 2023 19:48:46 +0900 Subject: [PATCH 11/20] =?UTF-8?q?[Lv=202]=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 --- .../week6/[Lv 2] PairEliminate.js" | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 "\353\217\204\354\234\244/week6/[Lv 2] PairEliminate.js" diff --git "a/\353\217\204\354\234\244/week6/[Lv 2] PairEliminate.js" "b/\353\217\204\354\234\244/week6/[Lv 2] PairEliminate.js" new file mode 100644 index 0000000..401608e --- /dev/null +++ "b/\353\217\204\354\234\244/week6/[Lv 2] PairEliminate.js" @@ -0,0 +1,13 @@ +// Lv 2. 짝지어 제거하기 - 2017 탑스타운 +function solution(s) { + //stack 사용 + const stack = []; + for (let i = 0; i < s.length; i++) { + if (stack[stack.length - 1] !== s[i]) { + stack.push(s[i]); + } else { + stack.pop(); + } + } + return stack.length === 0 ? 1 : 0; +} From c195318834b5c6f6ac7e0a5760953e0c3a298760 Mon Sep 17 00:00:00 2001 From: Doyun Lee Date: Sun, 19 Nov 2023 13:46:36 +0900 Subject: [PATCH 12/20] =?UTF-8?q?[Lv=201]=20=EB=AA=85=EC=98=88=EC=9D=98=20?= =?UTF-8?q?=EC=A0=84=EB=8B=B9(1)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "\353\217\204\354\234\244/week6/[Lv 1] Ranking .js" | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 "\353\217\204\354\234\244/week6/[Lv 1] Ranking .js" diff --git "a/\353\217\204\354\234\244/week6/[Lv 1] Ranking .js" "b/\353\217\204\354\234\244/week6/[Lv 1] Ranking .js" new file mode 100644 index 0000000..1313ad2 --- /dev/null +++ "b/\353\217\204\354\234\244/week6/[Lv 1] Ranking .js" @@ -0,0 +1,12 @@ +// Lv 1. 명예의 전당 (1) - 연습문제 +function solution(k, score) { + let rank = [], + answer = []; + + for (let i = 0; i < score.length; i++) { + rank.push(score[i]); + rank = rank.sort((a, b) => b - a).slice(0, k); + answer.push(Math.min(...rank)); + } + return answer; +} From 9f04a022c30e79cfdc2c8e05f3e0a0522afb6c2e Mon Sep 17 00:00:00 2001 From: Doyun Lee Date: Tue, 21 Nov 2023 12:51:10 +0900 Subject: [PATCH 13/20] =?UTF-8?q?[Lv=201]=20=EC=B9=B4=EB=93=9C=20=EB=AD=89?= =?UTF-8?q?=EC=B9=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../week7/[Lv 1] BunchOfCared.js" | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 "\353\217\204\354\234\244/week7/[Lv 1] BunchOfCared.js" diff --git "a/\353\217\204\354\234\244/week7/[Lv 1] BunchOfCared.js" "b/\353\217\204\354\234\244/week7/[Lv 1] BunchOfCared.js" new file mode 100644 index 0000000..d527974 --- /dev/null +++ "b/\353\217\204\354\234\244/week7/[Lv 1] BunchOfCared.js" @@ -0,0 +1,16 @@ +// Lv 1. 카드 뭉치 - 연습문제 +function solution(cards1, cards2, goal) { + let answer = ""; + for (let i = 0; i < goal.length; i++) { + if (cards1[0] === goal[i]) { + cards1.shift(); + } else if (cards2[0] === goal[i]) { + cards2.shift(); + } else { + answer = "No"; + break; + } + answer = "Yes"; + } + return answer; +} From 64ea8fbb879a11f1011f176552f6ad269f4d73a8 Mon Sep 17 00:00:00 2001 From: Doyun Lee Date: Fri, 24 Nov 2023 11:15:04 +0900 Subject: [PATCH 14/20] =?UTF-8?q?[Lv=201]=20=EC=B2=B4=EC=9C=A1=EB=B3=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../week7/[Lv 1] Clothes.js" | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 "\353\217\204\354\234\244/week7/[Lv 1] Clothes.js" diff --git "a/\353\217\204\354\234\244/week7/[Lv 1] Clothes.js" "b/\353\217\204\354\234\244/week7/[Lv 1] Clothes.js" new file mode 100644 index 0000000..2612d38 --- /dev/null +++ "b/\353\217\204\354\234\244/week7/[Lv 1] Clothes.js" @@ -0,0 +1,29 @@ +// Lv 1. 체육복 - 탐욕법(Greedy) +function solution(n, lost, reserve) { + //가져왔는데 도난당한 경우 (reserve와 lost에서 모두 제거) + let newReserve = reserve + .filter((elm) => { + return !lost.includes(elm); + }) + .sort((a, b) => a - b); + + let newLost = lost + .filter((elm) => { + return !reserve.includes(elm); + }) + .sort((a, b) => a - b); + + //answer의 초기값: 총 n명 중 가져오지 않은 사람(가져왔는데 도난당한 사람 제외) + let answer = n - newLost.length; + + newLost.forEach((elm) => { + if (newReserve && newReserve.includes(elm - 1)) { + answer++; + newReserve = newReserve.filter((res) => res !== elm - 1); + } else if (newReserve && newReserve.includes(elm + 1)) { + answer++; + newReserve = newReserve.filter((res) => res !== elm + 1); + } + }); + return answer; +} From 3f32a7b312892fe7a106c1b1670120141a0d18bb Mon Sep 17 00:00:00 2001 From: Doyun Lee Date: Wed, 29 Nov 2023 21:17:14 +0900 Subject: [PATCH 15/20] =?UTF-8?q?[Lv=201]=20=ED=8F=AC=EC=BC=93=EB=AA=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "\353\217\204\354\234\244/week8/[Lv 1] Pokemon.js" | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 "\353\217\204\354\234\244/week8/[Lv 1] Pokemon.js" diff --git "a/\353\217\204\354\234\244/week8/[Lv 1] Pokemon.js" "b/\353\217\204\354\234\244/week8/[Lv 1] Pokemon.js" new file mode 100644 index 0000000..9bc7746 --- /dev/null +++ "b/\353\217\204\354\234\244/week8/[Lv 1] Pokemon.js" @@ -0,0 +1,7 @@ +// Lv 1. 포켓몬 - 해시 +function solution(nums) { + const numSets = new Set(nums); + const maxCount = Math.floor(nums.length / 2); + + return numSets.size > maxCount ? maxCount : numSets.size; +} From dc72cd82266f5c5ee0caba0afc147e5dec7f6483 Mon Sep 17 00:00:00 2001 From: Doyun Lee Date: Fri, 1 Dec 2023 22:58:33 +0900 Subject: [PATCH 16/20] =?UTF-8?q?[Lv=201]=20=EB=91=90=20=EA=B0=9C=20?= =?UTF-8?q?=EB=BD=91=EC=95=84=EC=84=9C=20=EB=8D=94=ED=95=98=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../week8/[Lv 1] SelectAndAdd.js" | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 "\353\217\204\354\234\244/week8/[Lv 1] SelectAndAdd.js" diff --git "a/\353\217\204\354\234\244/week8/[Lv 1] SelectAndAdd.js" "b/\353\217\204\354\234\244/week8/[Lv 1] SelectAndAdd.js" new file mode 100644 index 0000000..73211ce --- /dev/null +++ "b/\353\217\204\354\234\244/week8/[Lv 1] SelectAndAdd.js" @@ -0,0 +1,14 @@ +// Lv 1. 두 개 뽑아서 더하기 +function solution(numbers) { + const answer = []; + for (let i = 0; i < numbers.length; i++) { + for (let j = i + 1; j < numbers.length; j++) { + if (!answer.includes(numbers[i] + numbers[j])) { + answer.push(numbers[i] + numbers[j]); + } else { + continue; + } + } + } + return answer.sort((a, b) => a - b); +} From 2722a5f891c56428daa0afa577aa34bbe1121b31 Mon Sep 17 00:00:00 2001 From: Doyun Lee Date: Sat, 2 Dec 2023 23:34:25 +0900 Subject: [PATCH 17/20] =?UTF-8?q?[Lv=201]=20=EC=88=AB=EC=9E=90=20=EC=A7=9D?= =?UTF-8?q?=EA=BF=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../week8/[Lv 1] NumberPair.js" | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 "\353\217\204\354\234\244/week8/[Lv 1] NumberPair.js" diff --git "a/\353\217\204\354\234\244/week8/[Lv 1] NumberPair.js" "b/\353\217\204\354\234\244/week8/[Lv 1] NumberPair.js" new file mode 100644 index 0000000..8db9e4a --- /dev/null +++ "b/\353\217\204\354\234\244/week8/[Lv 1] NumberPair.js" @@ -0,0 +1,27 @@ +// Lv 1. 숫자 짝꿍 - 연습문제 -> 11 ~ 15 시간초과 +function solution(X, Y) { + const XArr = X.toString().split(""); + const YArr = Y.toString().split(""); + const maxLen = Math.max(XArr.length, YArr.length); + const answer = []; + + for (let i = 0; i < maxLen; i++) { + const tmp = XArr[i]; + if (YArr.includes(tmp)) { + answer.push(tmp); + YArr.splice(YArr.indexOf(tmp), 1); + } + } + + const answerSet = new Set(answer); + + if (answer.length === 0) { + return "-1"; + } + if (answerSet.size === 1 && answerSet.has("0")) { + console.log("here"); + return "0"; + } + + return answer.sort((a, b) => b - a).join(""); +} From 5c0a395d800c378f234cd18b82f3bef48e3719ef Mon Sep 17 00:00:00 2001 From: Doyun Lee Date: Sat, 2 Dec 2023 23:53:13 +0900 Subject: [PATCH 18/20] =?UTF-8?q?[Lv=202]=20=EA=B5=AC=EB=AA=85=EB=B3=B4?= =?UTF-8?q?=ED=8A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../week8/[Lv 2] RescueBoat.js" | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 "\353\217\204\354\234\244/week8/[Lv 2] RescueBoat.js" diff --git "a/\353\217\204\354\234\244/week8/[Lv 2] RescueBoat.js" "b/\353\217\204\354\234\244/week8/[Lv 2] RescueBoat.js" new file mode 100644 index 0000000..e00c84d --- /dev/null +++ "b/\353\217\204\354\234\244/week8/[Lv 2] RescueBoat.js" @@ -0,0 +1,12 @@ +// Lv 2. 구명보트 - 탐욕법(Greedy) +function solution(people, limit) { + let count = 0; + let j = people.length - 1; + people.sort((a, b) => b - a); + + for (let i = 0; i <= j; i++) { + people[i] + people[j] <= limit && j--; + count++; + } + return count; +} From aab328005ad6f79f59a2a27ebce89f034287b028 Mon Sep 17 00:00:00 2001 From: Doyun Lee Date: Sun, 3 Dec 2023 20:11:06 +0900 Subject: [PATCH 19/20] =?UTF-8?q?[Lv=201]=20=EC=98=B9=EC=95=8C=EC=9D=B4(2)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../week8/[Lv 1] Babbling(2).js" | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 "\353\217\204\354\234\244/week8/[Lv 1] Babbling(2).js" diff --git "a/\353\217\204\354\234\244/week8/[Lv 1] Babbling(2).js" "b/\353\217\204\354\234\244/week8/[Lv 1] Babbling(2).js" new file mode 100644 index 0000000..1046db0 --- /dev/null +++ "b/\353\217\204\354\234\244/week8/[Lv 1] Babbling(2).js" @@ -0,0 +1,18 @@ +// Lv 1. 옹알이(2) - 연습문제 +function solution(babbling) { + const babblingList = ["aya", "ye", "woo", "ma"]; + let count = 0; + + for (bab of babbling) { + for (word of babblingList) { + if (bab.includes(word.repeat(2))) { + break; + } + bab = bab.split(word).join(" "); + } + if (bab.split(" ").join("").length === 0) { + count++; + } + } + return count; +} From 2412d274615da69c0dbff420c11f3005d5a10029 Mon Sep 17 00:00:00 2001 From: Doyun Lee Date: Sun, 3 Dec 2023 21:12:02 +0900 Subject: [PATCH 20/20] =?UTF-8?q?[Lv=202]=20=EC=A0=90=ED=94=84=EC=99=80=20?= =?UTF-8?q?=EC=88=9C=EA=B0=84=EC=9D=B4=EB=8F=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../week8/[Lv 2] Jump&Teleportation.js" | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 "\353\217\204\354\234\244/week8/[Lv 2] Jump&Teleportation.js" diff --git "a/\353\217\204\354\234\244/week8/[Lv 2] Jump&Teleportation.js" "b/\353\217\204\354\234\244/week8/[Lv 2] Jump&Teleportation.js" new file mode 100644 index 0000000..dd3182a --- /dev/null +++ "b/\353\217\204\354\234\244/week8/[Lv 2] Jump&Teleportation.js" @@ -0,0 +1,14 @@ +// Lv 2. 점프와 순간이동 - Summer/Winter Coding(~2018) +function solution(n) { + let use = 0; + + while (n !== 0) { + if (n % 2 === 0) { + n = n / 2; + } else { + n--; + use++; + } + } + return use; +}