From 221fb8ca6d426ce609aed197709610ecf89082d3 Mon Sep 17 00:00:00 2001 From: jaewon Date: 2022年3月28日 17:33:21 +0900 Subject: [PATCH 1/5] =?UTF-8?q?k=EB=B2=88=EC=A8=B0=EC=88=98=20add=20soluti?= =?UTF-8?q?on=201?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../K353円262円210円354円247円270円354円210円230円.js" | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git "a/level-1/K353円262円210円354円247円270円354円210円230円.js" "b/level-1/K353円262円210円354円247円270円354円210円230円.js" index 39db7c4..71ec809 100644 --- "a/level-1/K353円262円210円354円247円270円354円210円230円.js" +++ "b/level-1/K353円262円210円354円247円270円354円210円230円.js" @@ -8,4 +8,17 @@ function solution(array, commands) { return arrCmd[cmd[2] - 1] }) return answer; -} \ No newline at end of file +} + +//정답 2 - jaewon1676 +function solution(array, commands) { + var result = []; + var temp = []; + for(var i=0; i {return a - b}) + console.log(temp) + result.push(temp[commands[i][2]-1]) + } + return result + } + \ No newline at end of file From 936e273e5e326763a28d351d83d34d11362e536c Mon Sep 17 00:00:00 2001 From: jaewon Date: 2022年3月28日 17:34:57 +0900 Subject: [PATCH 2/5] =?UTF-8?q?=EC=8B=9C=EC=A0=80-=EC=95=94=ED=98=B8=20add?= =?UTF-8?q?=20solution=201?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...4354円240円200円-354円225円224円355円230円270円.js" | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git "a/level-1/354円213円234円354円240円200円-354円225円224円355円230円270円.js" "b/level-1/354円213円234円354円240円200円-354円225円224円355円230円270円.js" index 223f76c..799acad 100644 --- "a/level-1/354円213円234円354円240円200円-354円225円224円355円230円270円.js" +++ "b/level-1/354円213円234円354円240円200円-354円225円224円355円230円270円.js" @@ -13,4 +13,26 @@ function solution(s, n) { } }).join('') return answer; -} \ No newline at end of file +} + +//정답 2 - jaewon1676 +function solution(s, n) { + return s.split("").map((el) => { + if (el == " ") return el; + let tmp = el.charCodeAt() + return el.toLowerCase().charCodeAt()+n> 122 + ? String.fromCharCode(tmp+n-26) + : String.fromCharCode(tmp+n) + }).join('') +} + /* 문자열 -> 아스키코드 : s.charCodeAt() + 아스키코드 -> 문자열 : String.fromCharCode() + 풀이과정 + 1. 배열을 문자열로 쪼개서 map 메서드로 하나씩 순회한다., 문자열이 비어있으면 리턴한다. + 2. 알파벳을 통일 하기 위해 소문자 아스키코드로 변환한다. + 대문자 아스키코드는 65가 A, 90이 Z이다. + 소문자 아스키코드는 97이 a, 122가 z이다. + 3. 변환한 아스키코드 + n이 122이상이면 알파벳 단어 길이 25 + 알파벳 앞으로 이동 1만큼 뺴준고 + 그렇지 않으면 그대로 더한 후 해당 아스키코드의 알파벳으로 변환해준다. + */ + \ No newline at end of file From d5acf4a17023ede851ac0f3233b7749a2987b216 Mon Sep 17 00:00:00 2001 From: jaewon Date: 2022年3月28日 17:36:11 +0900 Subject: [PATCH 3/5] =?UTF-8?q?=ED=8F=B0=EC=BC=93=EB=AA=AC=20add=20solutio?= =?UTF-8?q?n=201?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "level-1/355円217円260円354円274円223円353円252円254円.js" | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git "a/level-1/355円217円260円354円274円223円353円252円254円.js" "b/level-1/355円217円260円354円274円223円353円252円254円.js" index 8f5f83c..94ea12e 100644 --- "a/level-1/355円217円260円354円274円223円353円252円254円.js" +++ "b/level-1/355円217円260円354円274円223円353円252円254円.js" @@ -8,4 +8,17 @@ function solution(nums) { const setLen = numSet.size answer = numLen / 2>= setLen ? setLen : numLen / 2 return answer; -} \ No newline at end of file +} + +//정답 2 - jaewon1676 +function solution(nums) { + let max = nums.length / 2; // N / 2 + let set = [...new Set(nums)] // 중복을 없앤다. + return set.length> max ? max : set.length + } + /* 풀이 과정 + 1. 많은 종류의 폰켓몬을 포함해서 N/2마리 선택해야한다. + 2. 같은 숫자는 같은 종류이므로 set을 활용해 중복을 없애고 진행한다. + 3. 최대로 고를 수 있는 폰켓몬 수는 N / 2마리가 set의 길이보다 크냐 작냐에 따라 + 두가지 경우의 수로 좁혀진다. */ + \ No newline at end of file From 70e928dd63e1b0699f04e8bc13dcc25b8fa43fbd Mon Sep 17 00:00:00 2001 From: jaewon Date: 2022年3月28日 17:39:22 +0900 Subject: [PATCH 4/5] =?UTF-8?q?=EC=A0=9C=EC=9D=BC-=EC=9E=91=EC=9D=80-?= =?UTF-8?q?=EC=88=98-=EC=A0=9C=EA=B1=B0=ED=95=98=EA=B8=B0=20add=20solution?= =?UTF-8?q?=202?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...34352円261円260円355円225円230円352円270円260円.js" | 39 ++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git "a/level-1/354円240円234円354円235円274円-354円236円221円354円235円200円-354円210円230円-354円240円234円352円261円260円355円225円230円352円270円260円.js" "b/level-1/354円240円234円354円235円274円-354円236円221円354円235円200円-354円210円230円-354円240円234円352円261円260円355円225円230円352円270円260円.js" index abb7a43..e946017 100644 --- "a/level-1/354円240円234円354円235円274円-354円236円221円354円235円200円-354円210円230円-354円240円234円352円261円260円355円225円230円352円270円260円.js" +++ "b/level-1/354円240円234円354円235円274円-354円236円221円354円235円200円-354円210円230円-354円240円234円352円261円260円355円225円230円352円270円260円.js" @@ -7,4 +7,41 @@ function solution(arr) { arr.splice(index, 1) answer = arr.length === 0 ? [-1] : arr return answer; -} \ No newline at end of file +} + +//정답 2 - jaewon1676 +function solution(arr) { + var answer = []; + + let min = Math.min(...arr) + while(1){ + for (let i=0; i Date: 2022年3月28日 17:42:26 +0900 Subject: [PATCH 5/5] =?UTF-8?q?[1=EC=B0=A8]-=EC=BA=90=EC=8B=9C=20=ED=8C=8C?= =?UTF-8?q?=EC=9D=BC=EC=9D=B4=EB=A6=84=EA=B3=B5=EB=B0=B1=20=EC=A0=9C?= =?UTF-8?q?=EA=B1=B0=20=EB=B0=8F=20add=20solution=201?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...354円260円250円]-354円272円220円354円213円234円.js" | 58 +++++++++++++++++++ ...354260円250円]-354円272円220円354円213円234円.js " | 21 ------- 2 files changed, 58 insertions(+), 21 deletions(-) create mode 100644 "level-2/[1354円260円250円]-354円272円220円354円213円234円.js" delete mode 100644 "level-2/[1354円260円250円]-354円272円220円354円213円234円.js " diff --git "a/level-2/[1354円260円250円]-354円272円220円354円213円234円.js" "b/level-2/[1354円260円250円]-354円272円220円354円213円234円.js" new file mode 100644 index 0000000..ece168f --- /dev/null +++ "b/level-2/[1354円260円250円]-354円272円220円354円213円234円.js" @@ -0,0 +1,58 @@ +//https://github.com/codeisneverodd/programmers-coding-test +//완벽한 정답이 아닙니다. +//정답 1 - codeisneverodd +function solution(cacheSize, cities) { + var answer = 0; + let cache = [] + if (cacheSize === 0) return 5 * cities.length + for (const city of cities) { + const cityLC = city.toLowerCase() + if (cache.includes(cityLC)) { + cache.splice(cache.indexOf(cityLC), 1) + cache.unshift(cityLC) + answer += 1 + } else { + if (cache.length>= cacheSize) cache.pop() + cache.unshift(cityLC) + answer += 5 + } + } + return answer; +} + +//정답 2 - jaewon1676 +function solution(cacheSize, cities) { + var answer = 0; + let cache = []; + + //캐시 크기가 0인 경우는 따로 처리 + if (cacheSize === 0) return cities.length * 5; + + while (cities.length != 0) { + // 맨 앞의 배열의 요소 히나를 소문자로 변환해서 city에 넣는다. + const city = cities.shift().toLowerCase(); + // cities의 요소 city가 캐시 안에 있는지 비교한다. (hit or miss) + if (cache.includes(city)) { + // 캐시 안에 있으면 그 위치에 있는 캐시를 빼주고, + cache.splice(cache.indexOf(city), 1); + // 맨 뒤로 push 해준다. + cache.push(city); + // cache hit + answer += 1; + } else { // 캐시 크기가 꽉 차있으면 캐시 맨 앞에 요소를 하나 빼준다. + if (cache.length === cacheSize) { + cache.shift(); + } + // 새로운 캐시 맨 뒤로 push + cache.push(city); + // cache miss + answer += 5; + } + } + return answer; + } + /* LRU 알고리즘 + n이 배열 안에 있으면 배열 안의 n을 빼주고, 새 n을 배열의 맨 뒤로 push 한다. + n이 배열 안에 없으면 n을 배열의 맨 뒤로 push 한다. 이때 배열의 크기 여유가 없으면 + 배열에서 가장 오래된 요소를 하나 뺴준다. (arr.shift()) */ + \ No newline at end of file diff --git "a/level-2/[1354円260円250円]-354円272円220円354円213円234円.js " "b/level-2/[1354円260円250円]-354円272円220円354円213円234円.js " deleted file mode 100644 index c85af68..0000000 --- "a/level-2/[1354円260円250円]-354円272円220円354円213円234円.js " +++ /dev/null @@ -1,21 +0,0 @@ -//https://github.com/codeisneverodd/programmers-coding-test -//완벽한 정답이 아닙니다. -//정답 1 - codeisneverodd -function solution(cacheSize, cities) { - var answer = 0; - let cache = [] - if (cacheSize === 0) return 5 * cities.length - for (const city of cities) { - const cityLC = city.toLowerCase() - if (cache.includes(cityLC)) { - cache.splice(cache.indexOf(cityLC), 1) - cache.unshift(cityLC) - answer += 1 - } else { - if (cache.length>= cacheSize) cache.pop() - cache.unshift(cityLC) - answer += 5 - } - } - return answer; -} \ No newline at end of file

AltStyle によって変換されたページ (->オリジナル) /