From d66d05e6f2f7a7735f05def0b57175f9cc365a77 Mon Sep 17 00:00:00 2001 From: KDY Date: Fri, 25 Nov 2022 14:45:56 +0900 Subject: [PATCH 1/4] =?UTF-8?q?[PGS]=20/=20level1=20/=20=ED=94=BC=EB=B3=B4?= =?UTF-8?q?=EB=82=98=EC=B9=98=20=EC=88=98?= 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" | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 "\354\243\274\354\244\2218B/daeyeon/\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/daeyeon/\355\224\274\353\263\264\353\202\230\354\271\230 \354\210\230.js" "b/\354\243\274\354\244\2218B/daeyeon/\355\224\274\353\263\264\353\202\230\354\271\230 \354\210\230.js" new file mode 100644 index 00000000..301bd0bb --- /dev/null +++ "b/\354\243\274\354\244\2218B/daeyeon/\355\224\274\353\263\264\353\202\230\354\271\230 \354\210\230.js" @@ -0,0 +1,27 @@ +/* +테스트 1 〉 통과 (0.04ms, 33.5MB) +테스트 2 〉 통과 (0.13ms, 33.4MB) +테스트 3 〉 통과 (0.12ms, 33.5MB) +테스트 4 〉 통과 (0.11ms, 33.4MB) +테스트 5 〉 통과 (0.11ms, 33.4MB) +테스트 6 〉 통과 (0.12ms, 33.4MB) +테스트 7 〉 통과 (0.25ms, 33.5MB) +테스트 8 〉 통과 (0.27ms, 33.4MB) +테스트 9 〉 통과 (0.24ms, 33.4MB) +테스트 10 〉 통과 (0.36ms, 33.4MB) +테스트 11 〉 통과 (0.23ms, 33.5MB) +테스트 12 〉 통과 (0.21ms, 33.4MB) +테스트 13 〉 통과 (4.59ms, 38.9MB) +테스트 14 〉 통과 (4.79ms, 38.9MB) +*/ + +function solution(n) { + const arr = [0, 1, 1]; + let i = 0; + + while (i + 2 <= n) { + arr[i + 2] = (arr[i] + arr[i + 1]) % 1234567; + i++; + } + return arr[n]; +} From a1f5908993c3219af1a67b9d848193f3fcdd5028 Mon Sep 17 00:00:00 2001 From: KDY Date: Fri, 25 Nov 2022 14:46:23 +0900 Subject: [PATCH 2/4] =?UTF-8?q?[PGS]=20/level1=20/=20=EB=8B=A4=EC=9D=8C=20?= =?UTF-8?q?=ED=81=B0=20=EC=88=AB=EC=9E=90?= 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" | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 "\354\243\274\354\244\2218B/daeyeon/\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/daeyeon/\353\213\244\354\235\214 \355\201\260 \354\210\253\354\236\220.js" "b/\354\243\274\354\244\2218B/daeyeon/\353\213\244\354\235\214 \355\201\260 \354\210\253\354\236\220.js" new file mode 100644 index 00000000..00f22bea --- /dev/null +++ "b/\354\243\274\354\244\2218B/daeyeon/\353\213\244\354\235\214 \355\201\260 \354\210\253\354\236\220.js" @@ -0,0 +1,44 @@ +/* +정확성 테스트 +테스트 1 〉 통과 (0.06ms, 33.4MB) +테스트 2 〉 통과 (0.05ms, 33.4MB) +테스트 3 〉 통과 (0.07ms, 33.4MB) +테스트 4 〉 통과 (0.06ms, 33.4MB) +테스트 5 〉 통과 (0.06ms, 33.4MB) +테스트 6 〉 통과 (0.05ms, 33.4MB) +테스트 7 〉 통과 (0.06ms, 33.4MB) +테스트 8 〉 통과 (0.06ms, 33.4MB) +테스트 9 〉 통과 (0.07ms, 33.4MB) +테스트 10 〉 통과 (0.07ms, 33.4MB) +테스트 11 〉 통과 (0.06ms, 33.4MB) +테스트 12 〉 통과 (0.06ms, 33.4MB) +테스트 13 〉 통과 (0.08ms, 33.3MB) +테스트 14 〉 통과 (0.06ms, 33.4MB) +효율성 테스트 +테스트 1 〉 통과 (0.07ms, 32.9MB) +테스트 2 〉 통과 (0.08ms, 32.9MB) +테스트 3 〉 통과 (0.09ms, 33MB) +테스트 4 〉 통과 (0.08ms, 32.9MB) +테스트 5 〉 통과 (0.11ms, 33MB) +테스트 6 〉 통과 (0.09ms, 33.3MB) +*/ + +function solution(n) { + let next = n; + let convert = Countfunc(n); + for (let i = 1; ; i++) { + next = n + i; //1씩더하고 2진수로 변환한뒤 1의 개수를 count + if (Countfunc(next) === convert) break; + } + + return next; +} + +function Countfunc(num) { + num = num.toString(2); + let count = 0; + for (let i = 0; i < num.length; i++) { + if (num[i] === "1") count++; + } + return count; +} From fe64801210c83c13565e76e323699248b185c1aa Mon Sep 17 00:00:00 2001 From: KDY Date: Fri, 25 Nov 2022 14:46:36 +0900 Subject: [PATCH 3/4] =?UTF-8?q?=EC=BD=9C=EB=9D=BC=20=EB=AC=B8=EC=A0=9C?= 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" | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 "\354\243\274\354\244\2218B/daeyeon/\354\275\234\353\235\274 \353\254\270\354\240\234.js" diff --git "a/\354\243\274\354\244\2218B/daeyeon/\354\275\234\353\235\274 \353\254\270\354\240\234.js" "b/\354\243\274\354\244\2218B/daeyeon/\354\275\234\353\235\274 \353\254\270\354\240\234.js" new file mode 100644 index 00000000..b1dcba33 --- /dev/null +++ "b/\354\243\274\354\244\2218B/daeyeon/\354\275\234\353\235\274 \353\254\270\354\240\234.js" @@ -0,0 +1,31 @@ +/* +테스트 1 〉 통과 (0.09ms, 33.5MB) +테스트 2 〉 통과 (0.02ms, 33.5MB) +테스트 3 〉 통과 (0.13ms, 33.4MB) +테스트 4 〉 통과 (0.02ms, 33.4MB) +테스트 5 〉 통과 (0.02ms, 33.5MB) +테스트 6 〉 통과 (0.09ms, 33.6MB) +테스트 7 〉 통과 (0.02ms, 33.4MB) +테스트 8 〉 통과 (0.02ms, 33.3MB) +테스트 9 〉 통과 (0.11ms, 33.4MB) +테스트 10 〉 통과 (0.02ms, 33.6MB) +테스트 11 〉 통과 (0.02ms, 33.5MB) +테스트 12 〉 통과 (0.36ms, 33.4MB) +테스트 13 〉 통과 (0.02ms, 33.4MB) +테스트 14 〉 통과 (0.02ms, 33.5MB) +*/ +// a: b개를 얻으려면 줘야하는 콜라수, b: 교환시 주는콜라수 n: 가지고 있는 콜라 +function solution(a, b, n) { + let rest = n; //남은 콜라개수 + let count = 0; //총 콜라교환 개수 + let get = 0; //얻은 콜라 + while (rest >= a) { + get = Math.floor(rest / a) * b; //비례식 + count += get; + rest = (rest % a) + get; //남은콜라 + 교환받은 콜라 + } + + return count; +} + +solution(3, 1, 20); From 5ff98017e7cacb04ddebe72bd396f367b22d8c7f Mon Sep 17 00:00:00 2001 From: KDY Date: Fri, 25 Nov 2022 14:46:52 +0900 Subject: [PATCH 4/4] =?UTF-8?q?=EC=B2=B4=EC=9C=A1=EB=B3=B5?= 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" | 60 +++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 "\354\243\274\354\244\2218B/daeyeon/\354\262\264\354\234\241\353\263\265.js" diff --git "a/\354\243\274\354\244\2218B/daeyeon/\354\262\264\354\234\241\353\263\265.js" "b/\354\243\274\354\244\2218B/daeyeon/\354\262\264\354\234\241\353\263\265.js" new file mode 100644 index 00000000..d1ea760f --- /dev/null +++ "b/\354\243\274\354\244\2218B/daeyeon/\354\262\264\354\234\241\353\263\265.js" @@ -0,0 +1,60 @@ +/* +테스트 1 〉 통과 (0.08ms, 33.4MB) +테스트 2 〉 통과 (0.08ms, 33.5MB) +테스트 3 〉 통과 (0.10ms, 33.4MB) +테스트 4 〉 통과 (0.09ms, 33.5MB) +테스트 5 〉 통과 (0.17ms, 33.5MB) +테스트 6 〉 통과 (0.08ms, 33.4MB) +테스트 7 〉 통과 (0.22ms, 33.5MB) +테스트 8 〉 통과 (0.09ms, 33.6MB) +테스트 9 〉 통과 (0.11ms, 33.4MB) +테스트 10 〉 통과 (0.10ms, 33.5MB) +테스트 11 〉 통과 (0.10ms, 33.4MB) +테스트 12 〉 통과 (0.09ms, 33.5MB) +테스트 13 〉 통과 (0.09ms, 33.5MB) +테스트 14 〉 통과 (0.09ms, 33.4MB) +테스트 15 〉 통과 (0.10ms, 33.5MB) +테스트 16 〉 통과 (0.09ms, 33.5MB) +테스트 17 〉 통과 (0.09ms, 33.4MB) +테스트 18 〉 통과 (0.09ms, 33.5MB) +테스트 19 〉 통과 (0.09ms, 33.6MB) +테스트 20 〉 통과 (0.09ms, 33.5MB) +*/ +/* eslint-disable */ + +function solution(n, lost, reserve) { + let obj = {}; + for (let i = 1; i <= n; i++) { + obj[i] = true; //모두 true로 초기화 + } + + for (let i = 0; i < lost.length; i++) + obj[lost[i]] = false; //도난당한 친구는 false로 변경 + + //여벌의 체육복은 1개. + //여벌의 체육복을 가져온 사람도 도난을 당할수 있음. 이때는 무조건 본인이 본인꺼입어야함(빌려오면안댐) + let arr = []; //실제로 빌려줄수 있는 체육복을 가진 친구번호 + for (let i = 0; i < reserve.length; i++) { + if (obj[reserve[i]] === false) { + //가져왔지만 도난을 당한 친구일때 true로 변경 + obj[reserve[i]] = true; + } + else arr.push(reserve[i]); + } + + // 앞번호부터 줘야 아래의 로직으로 최댓값을 return할수 있으므로 정렬을 해줘야함 + // TEST CASE: 5 [2,4] [3,1] 5 + arr = arr.sort((a, b) => a - b); + + for (let i = 0; i < arr.length; i++) { + //앞번호 부터 빌려줌 + if (obj[arr[i] - 1] === false) { + obj[arr[i] - 1] = true; + } + else if (obj[arr[i] + 1] === false) { + obj[arr[i] + 1] = true; + } + } + + return Object.values(obj).filter((el) => el).length; +}