From bc4d3c1df1f1285f36f58054b9a9105a1251ad70 Mon Sep 17 00:00:00 2001 From: 2pandi Date: Wed, 23 Nov 2022 13:00:02 +0900 Subject: [PATCH 1/4] =?UTF-8?q?[PGS]=20=ED=94=BC=EB=B3=B4=EB=82=98?= =?UTF-8?q?=EC=B9=98=20=EC=88=98=20/=20Level2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...4\353\202\230\354\271\230 \354\210\230.js" | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 "\354\243\274\354\244\2218B/Yebin/Week4/P13. \355\224\274\353\263\264\353\202\230\354\271\230 \354\210\230.js" diff --git "a/\354\243\274\354\244\2218B/Yebin/Week4/P13. \355\224\274\353\263\264\353\202\230\354\271\230 \354\210\230.js" "b/\354\243\274\354\244\2218B/Yebin/Week4/P13. \355\224\274\353\263\264\353\202\230\354\271\230 \354\210\230.js" new file mode 100644 index 00000000..14ba740b --- /dev/null +++ "b/\354\243\274\354\244\2218B/Yebin/Week4/P13. \355\224\274\353\263\264\353\202\230\354\271\230 \354\210\230.js" @@ -0,0 +1,45 @@ +/** +채점을 시작합니다. +정확성 테스트 +테스트 1 〉 통과 (0.04ms, 33.4MB) +테스트 2 〉 통과 (0.04ms, 33.4MB) +테스트 3 〉 통과 (0.12ms, 33.4MB) +테스트 4 〉 통과 (0.05ms, 33.4MB) +테스트 5 〉 통과 (0.14ms, 33.4MB) +테스트 6 〉 통과 (0.12ms, 33.4MB) +테스트 7 〉 통과 (0.27ms, 33.5MB) +테스트 8 〉 통과 (0.22ms, 33.4MB) +테스트 9 〉 통과 (0.22ms, 33.4MB) +테스트 10 〉 통과 (0.26ms, 33.6MB) +테스트 11 〉 통과 (0.16ms, 33.5MB) +테스트 12 〉 통과 (0.20ms, 33.5MB) +테스트 13 〉 통과 (4.77ms, 39MB) +테스트 14 〉 통과 (4.71ms, 38.9MB) +채점 결과 +정확성: 100.0 +합계: 100.0 / 100.0 + */ + +//첫 번째 시도 - 런타임에러(13, 14) +// -> 재귀함수는 호출이 가능한 깊이가 정해져있는데 +// 13, 14번은 테스트 케이스는 그 깊이를 초과했기 때문에 +// 런타임 에러가 뜨는 것이다. +function solution(n) { + let fibArr = [0, 1]; + const fib = (num) => { + if (fibArr[num] !== undefined) return fibArr[num]; + fibArr[num] = (fib(num - 1) + fib(num - 2)) % 1234567; + return fibArr[num]; + }; + return fib(n); +} + +//두 번째 시도 - 통과 +function solution(n) { + let fibArr = [0, 1]; + if (n <= 1) return fibArr[n]; + for (let i = 2; i < n + 1; i++) { + fibArr.push((fibArr[i - 2] + fibArr[i - 1]) % 1234567); + } + return fibArr[n]; +} From bda84f5a80056d1f1862702b7d9c074ce995c648 Mon Sep 17 00:00:00 2001 From: 2pandi Date: Wed, 23 Nov 2022 13:00:28 +0900 Subject: [PATCH 2/4] =?UTF-8?q?[PGS]=20=EB=8B=A4=EC=9D=8C=20=ED=81=B0=20?= =?UTF-8?q?=EC=88=AB=EC=9E=90=20/=20Level2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... \355\201\260 \354\210\253\354\236\220.js" | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 "\354\243\274\354\244\2218B/Yebin/Week4/P14. \353\213\244\354\235\214 \355\201\260 \354\210\253\354\236\220.js" diff --git "a/\354\243\274\354\244\2218B/Yebin/Week4/P14. \353\213\244\354\235\214 \355\201\260 \354\210\253\354\236\220.js" "b/\354\243\274\354\244\2218B/Yebin/Week4/P14. \353\213\244\354\235\214 \355\201\260 \354\210\253\354\236\220.js" new file mode 100644 index 00000000..81b164af --- /dev/null +++ "b/\354\243\274\354\244\2218B/Yebin/Week4/P14. \353\213\244\354\235\214 \355\201\260 \354\210\253\354\236\220.js" @@ -0,0 +1,47 @@ +/** +채점을 시작합니다. +정확성 테스트 +테스트 1 〉 통과 (0.05ms, 33.4MB) +테스트 2 〉 통과 (0.04ms, 33.4MB) +테스트 3 〉 통과 (0.05ms, 33.5MB) +테스트 4 〉 통과 (0.04ms, 33.4MB) +테스트 5 〉 통과 (0.05ms, 33.5MB) +테스트 6 〉 통과 (0.05ms, 33.6MB) +테스트 7 〉 통과 (0.05ms, 33.4MB) +테스트 8 〉 통과 (0.04ms, 33.6MB) +테스트 9 〉 통과 (0.06ms, 33.6MB) +테스트 10 〉 통과 (0.06ms, 33.5MB) +테스트 11 〉 통과 (0.05ms, 33.6MB) +테스트 12 〉 통과 (0.05ms, 33.5MB) +테스트 13 〉 통과 (0.04ms, 33.4MB) +테스트 14 〉 통과 (0.06ms, 33.5MB) +효율성 테스트 +테스트 1 〉 통과 (0.08ms, 32.9MB) +테스트 2 〉 통과 (0.05ms, 33.4MB) +테스트 3 〉 통과 (0.04ms, 33.3MB) +테스트 4 〉 통과 (0.05ms, 33.5MB) +테스트 5 〉 통과 (0.06ms, 33.4MB) +테스트 6 〉 통과 (0.07ms, 33MB) +채점 결과 +정확성: 70.0 +효율성: 30.0 +합계: 100.0 / 100.0 + */ + +function solution(n) { + const binaryN = n.toString(2); + let result = (n + 1).toString(2); + let i = n + 2; + while (result.split("1").length - 1 !== binaryN.split("1").length - 1) { + result = i.toString(2); + i++; + } + return parseInt(result, 2); +} + +//다른 사람의 풀이 +function solution(n, a = n + 1) { + return n.toString(2).match(/1/g).length == a.toString(2).match(/1/g).length + ? a + : solution(n, a + 1); +} From 3a76dbfd82a3ae4f8c470222984db4268d699444 Mon Sep 17 00:00:00 2001 From: 2pandi Date: Wed, 23 Nov 2022 13:00:44 +0900 Subject: [PATCH 3/4] =?UTF-8?q?[PGS]=20=EC=BD=9C=EB=9D=BC=20=EB=AC=B8?= =?UTF-8?q?=EC=A0=9C=20/=20Level1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...4\353\235\274 \353\254\270\354\240\234.js" | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 "\354\243\274\354\244\2218B/Yebin/Week4/P15. \354\275\234\353\235\274 \353\254\270\354\240\234.js" diff --git "a/\354\243\274\354\244\2218B/Yebin/Week4/P15. \354\275\234\353\235\274 \353\254\270\354\240\234.js" "b/\354\243\274\354\244\2218B/Yebin/Week4/P15. \354\275\234\353\235\274 \353\254\270\354\240\234.js" new file mode 100644 index 00000000..74b71b9d --- /dev/null +++ "b/\354\243\274\354\244\2218B/Yebin/Week4/P15. \354\275\234\353\235\274 \353\254\270\354\240\234.js" @@ -0,0 +1,33 @@ +/** +채점을 시작합니다. +정확성 테스트 +테스트 1 〉 통과 (0.04ms, 33.4MB) +테스트 2 〉 통과 (0.05ms, 33.5MB) +테스트 3 〉 통과 (0.04ms, 33.4MB) +테스트 4 〉 통과 (0.04ms, 33.4MB) +테스트 5 〉 통과 (0.04ms, 33.4MB) +테스트 6 〉 통과 (0.04ms, 33.5MB) +테스트 7 〉 통과 (0.03ms, 33.4MB) +테스트 8 〉 통과 (0.03ms, 33.5MB) +테스트 9 〉 통과 (0.04ms, 33.4MB) +테스트 10 〉 통과 (0.03ms, 33.4MB) +테스트 11 〉 통과 (0.03ms, 33.4MB) +테스트 12 〉 통과 (0.23ms, 33.6MB) +테스트 13 〉 통과 (0.04ms, 33.5MB) +테스트 14 〉 통과 (0.04ms, 33.5MB) +채점 결과 +정확성: 100.0 +합계: 100.0 / 100.0 + */ + +function solution(a, b, n) { + let now = n; // 내가 가진 병 개수 + let count = 0; // 지금까지 받은 전체 병 개수 + while (a <= now) { + const avail = now - (now % a); // 마트에 줄 수 있는 최대 병 개수 + const canGet = (avail * b) / a; // 이번에 마트에서 받을 수 있는 병 개수 + count += canGet; + now = now - avail + canGet; + } + return count; +} From 08a973455279c85ad2f7805db4b26ea66c8d7950 Mon Sep 17 00:00:00 2001 From: 2pandi Date: Wed, 23 Nov 2022 13:00:57 +0900 Subject: [PATCH 4/4] =?UTF-8?q?[PGS]=20=EC=B2=B4=EC=9C=A1=EB=B3=B5=20/=20L?= =?UTF-8?q?evel1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .... \354\262\264\354\234\241\353\263\265.js" | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 "\354\243\274\354\244\2218B/Yebin/Week4/P16. \354\262\264\354\234\241\353\263\265.js" diff --git "a/\354\243\274\354\244\2218B/Yebin/Week4/P16. \354\262\264\354\234\241\353\263\265.js" "b/\354\243\274\354\244\2218B/Yebin/Week4/P16. \354\262\264\354\234\241\353\263\265.js" new file mode 100644 index 00000000..09e9eb7c --- /dev/null +++ "b/\354\243\274\354\244\2218B/Yebin/Week4/P16. \354\262\264\354\234\241\353\263\265.js" @@ -0,0 +1,54 @@ +/** +채점을 시작합니다. +정확성 테스트 +테스트 1 〉 통과 (0.08ms, 33.5MB) +테스트 2 〉 통과 (0.17ms, 32.9MB) +테스트 3 〉 통과 (0.17ms, 33MB) +테스트 4 〉 통과 (0.08ms, 33.5MB) +테스트 5 〉 통과 (0.18ms, 33.4MB) +테스트 6 〉 통과 (0.07ms, 33.5MB) +테스트 7 〉 통과 (0.18ms, 33.4MB) +테스트 8 〉 통과 (0.08ms, 33.4MB) +테스트 9 〉 통과 (0.08ms, 33.5MB) +테스트 10 〉 통과 (0.17ms, 33.5MB) +테스트 11 〉 통과 (0.09ms, 33.5MB) +테스트 12 〉 통과 (0.08ms, 33.5MB) +테스트 13 〉 통과 (0.07ms, 33.4MB) +테스트 14 〉 통과 (0.08ms, 33.4MB) +테스트 15 〉 통과 (0.11ms, 33.6MB) +테스트 16 〉 통과 (0.12ms, 33.4MB) +테스트 17 〉 통과 (0.08ms, 33.4MB) +테스트 18 〉 통과 (0.08ms, 33.6MB) +테스트 19 〉 통과 (0.07ms, 33.4MB) +테스트 20 〉 통과 (0.08ms, 33.5MB) +채점 결과 +정확성: 100.0 +합계: 100.0 / 100.0 + */ + +function solution(n, lost, reserve) { + // 본인 것만 있는 사람 'normal' + let arr = Array(n).fill("normal"); + // 도난 당한 사람 'lost' + for (let i = 0; i < lost.length; i++) { + arr[lost[i] - 1] = "lost"; + } + // 도난 당했지만 여벌 가져온 사람 'normal' + // 본인 것도 있고 여벌도 있는 사람 'reserve' + for (let i = 0; i < reserve.length; i++) { + arr[reserve[i] - 1] = arr[reserve[i] - 1] === "lost" ? "normal" : "reserve"; + } + + // 본인이 'lost'이고 앞 사람이 'reserve'면 둘다 'normal'로 변경 + // 본인이 'lost'이고 뒷 사람이 'reserve'면 둘다 'normal'로 변경 + for (let i = 0; i < arr.length; i++) { + if (arr[i] === "lost" && arr[i - 1] === "reserve") { + arr[i] = "normal"; + arr[i - 1] = "normal"; + } else if (arr[i] === "lost" && arr[i + 1] === "reserve") { + arr[i] = "normal"; + arr[i + 1] = "normal"; + } + } + return arr.filter((el) => el !== "lost").length; +}