From 52e1a2137708ed0b74fb70a45ee8c7c5a966f2c6 Mon Sep 17 00:00:00 2001 From: chaerin <70943835+chaerin-dev@users.noreply.github.com> Date: Fri, 15 Apr 2022 23:41:23 +0900 Subject: [PATCH 01/19] =?UTF-8?q?Add=20=EC=86=8C=EC=88=98-=EC=B0=BE?= =?UTF-8?q?=EA=B8=B0.js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...4\354\210\230-\354\260\276\352\270\260.js" | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git "a/level-1/\354\206\214\354\210\230-\354\260\276\352\270\260.js" "b/level-1/\354\206\214\354\210\230-\354\260\276\352\270\260.js" index cae7f4a..952eb80 100644 --- "a/level-1/\354\206\214\354\210\230-\354\260\276\352\270\260.js" +++ "b/level-1/\354\206\214\354\210\230-\354\260\276\352\270\260.js" @@ -12,4 +12,23 @@ function solution(n) { for (const isPrime of isPrimeArr) if (isPrime) answer += 1 answer -= 2 //인덱스 0과 1 제외 return answer; +} + +//정답 2 - chaerin-dev +// 소수인지 판별하는 함수 +function isPrime(x) { + for (let i = 2; i <= Math.sqrt(x); i++) { + if (x % i === 0) return false; + } + return true; +} +function solution(n) { + // 소수의 개수를 저장할 변수 + let answer = 0; + // 1은 소수가 아니므로 2부터 n까지 모든 수에 대해 + for (let i = 2; i <= n; i++) { + // 소수이면 소수의 개수에 1 추가 + if (isPrime(i)) answer++; + } + return answer; } \ No newline at end of file From ad54a6ac2ea3e11d69a230dcd1794194d807c2f1 Mon Sep 17 00:00:00 2001 From: chaerin <70943835+chaerin-dev@users.noreply.github.com> Date: Fri, 15 Apr 2022 23:42:43 +0900 Subject: [PATCH 02/19] =?UTF-8?q?Add=20=EB=AC=B8=EC=9E=90=EC=97=B4-?= =?UTF-8?q?=EB=8B=A4=EB=A3=A8=EA=B8=B0-=EA=B8=B0=EB=B3=B8.js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...243\250\352\270\260-\352\270\260\353\263\270.js" | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git "a/level-1/\353\254\270\354\236\220\354\227\264-\353\213\244\353\243\250\352\270\260-\352\270\260\353\263\270.js" "b/level-1/\353\254\270\354\236\220\354\227\264-\353\213\244\353\243\250\352\270\260-\352\270\260\353\263\270.js" index d6e127a..fbb051e 100644 --- "a/level-1/\353\254\270\354\236\220\354\227\264-\353\213\244\353\243\250\352\270\260-\352\270\260\353\263\270.js" +++ "b/level-1/\353\254\270\354\236\220\354\227\264-\353\213\244\353\243\250\352\270\260-\352\270\260\353\263\270.js" @@ -33,3 +33,16 @@ function solution(s) { return answer; } + +//정답 4 - chaerin-dev +function solution(s) { + // 길이가 4 혹은 6이 아니면 false 반환 + if (s.length !== 4 && s.length !== 6) return false; + // 각 자리중에 숫자가 아닌 것이 하나라도 있으면 false 반환 + for (let i = 0; i < s.length; i++) { + if (isNaN(Number(s[i]))) return false; + } + // 위의 모든 조건에 포함되지 않으면 + // (길이가 4 혹은 6이고, 숫자로만 구성되어 있으면) true 반환 + return true; +} \ No newline at end of file From b56e2c93f978507b0803ddc95d64c588e78d3e2b Mon Sep 17 00:00:00 2001 From: chaerin <70943835+chaerin-dev@users.noreply.github.com> Date: Fri, 15 Apr 2022 23:44:18 +0900 Subject: [PATCH 03/19] =?UTF-8?q?Add=20=EB=AC=B8=EC=9E=90=EC=97=B4-?= =?UTF-8?q?=EB=82=B4=EB=A6=BC=EC=B0=A8=EC=88=9C=EC=9C=BC=EB=A1=9C-?= =?UTF-8?q?=EB=B0=B0=EC=B9=98=ED=95=98=EA=B8=B0.js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\260\260\354\271\230\355\225\230\352\270\260.js" | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git "a/level-1/\353\254\270\354\236\220\354\227\264-\353\202\264\353\246\274\354\260\250\354\210\234\354\234\274\353\241\234-\353\260\260\354\271\230\355\225\230\352\270\260.js" "b/level-1/\353\254\270\354\236\220\354\227\264-\353\202\264\353\246\274\354\260\250\354\210\234\354\234\274\353\241\234-\353\260\260\354\271\230\355\225\230\352\270\260.js" index e9bbbea..489f198 100644 --- "a/level-1/\353\254\270\354\236\220\354\227\264-\353\202\264\353\246\274\354\260\250\354\210\234\354\234\274\353\241\234-\353\260\260\354\271\230\355\225\230\352\270\260.js" +++ "b/level-1/\353\254\270\354\236\220\354\227\264-\353\202\264\353\246\274\354\260\250\354\210\234\354\234\274\353\241\234-\353\260\260\354\271\230\355\225\230\352\270\260.js" @@ -9,4 +9,15 @@ function solution(s) { return 0 }).join('') return answer; -} \ No newline at end of file +} + +//정답 2 - chaerin-dev +function solution(s) { + // 문자열 -> 배열 -> 정렬 -> 순서뒤집기 -> 문자열 + return s.split("").sort().reverse().join(""); +} + +//정답3 - chaerin-dev +function solution(s) { + return s.split("").sort((a, b) => (a < b ? 1 : -1)).join(""); +} From a9db3b3d8a118d030ca98f17a7cb4aa2e4e4ceef Mon Sep 17 00:00:00 2001 From: chaerin <70943835+chaerin-dev@users.noreply.github.com> Date: Fri, 15 Apr 2022 23:45:21 +0900 Subject: [PATCH 04/19] =?UTF-8?q?Add=20=EB=AC=B8=EC=9E=90=EC=97=B4-?= =?UTF-8?q?=EB=82=B4-p=EC=99=80-y=EC=9D=98-=EA=B0=9C=EC=88=98.js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\231\200-y\354\235\230-\352\260\234\354\210\230.js" | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git "a/level-1/\353\254\270\354\236\220\354\227\264-\353\202\264-p\354\231\200-y\354\235\230-\352\260\234\354\210\230.js" "b/level-1/\353\254\270\354\236\220\354\227\264-\353\202\264-p\354\231\200-y\354\235\230-\352\260\234\354\210\230.js" index 2bdcc86..ae8ce72 100644 --- "a/level-1/\353\254\270\354\236\220\354\227\264-\353\202\264-p\354\231\200-y\354\235\230-\352\260\234\354\210\230.js" +++ "b/level-1/\353\254\270\354\236\220\354\227\264-\353\202\264-p\354\231\200-y\354\235\230-\352\260\234\354\210\230.js" @@ -17,3 +17,13 @@ function solution(s) { return p == y ? true : false; } + +//정답 3 - chaerin-dev +function solution(s) { + let pCount = s.split(/p/i).length - 1; + let yCount = s.split(/y/i).length - 1; + return pCount === yCount; +} +// 문자열에서 특정 문자의 개수를 구하려면 split을 사용하면 된다. +// Ex. "ababb".split("a") 의 결과는 ["", "b", "bb"] +// => 즉, "a"의 갯수는 3에서 1을 뺀 2 From ed81e2bb0fd363e24abc3248423a784a57aebd40 Mon Sep 17 00:00:00 2001 From: chaerin <70943835+chaerin-dev@users.noreply.github.com> Date: Fri, 15 Apr 2022 23:46:19 +0900 Subject: [PATCH 05/19] =?UTF-8?q?Add=20=EB=AC=B8=EC=9E=90=EC=97=B4-?= =?UTF-8?q?=EB=82=B4-=EB=A7=88=EC=9D=8C=EB=8C=80=EB=A1=9C-=EC=A0=95?= =?UTF-8?q?=EB=A0=AC=ED=95=98=EA=B8=B0.js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\240\225\353\240\254\355\225\230\352\270\260.js" | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git "a/level-1/\353\254\270\354\236\220\354\227\264-\353\202\264-\353\247\210\354\235\214\353\214\200\353\241\234-\354\240\225\353\240\254\355\225\230\352\270\260.js" "b/level-1/\353\254\270\354\236\220\354\227\264-\353\202\264-\353\247\210\354\235\214\353\214\200\353\241\234-\354\240\225\353\240\254\355\225\230\352\270\260.js" index 668538f..3d7cce9 100644 --- "a/level-1/\353\254\270\354\236\220\354\227\264-\353\202\264-\353\247\210\354\235\214\353\214\200\353\241\234-\354\240\225\353\240\254\355\225\230\352\270\260.js" +++ "b/level-1/\353\254\270\354\236\220\354\227\264-\353\202\264-\353\247\210\354\235\214\353\214\200\353\241\234-\354\240\225\353\240\254\355\225\230\352\270\260.js" @@ -10,4 +10,15 @@ function solution(strings, n) { return 0 }) return answer; -} \ No newline at end of file +} + +//정답 2 - chaerin-dev +function solution(strings, n) { + return strings.sort((a, b) => { + // 인덱스 n번째 글자를 기준으로 오름차순 정렬 + if (a[n] > b[n]) return 1; + else if (a[n] < b[n]) return -1; + // 인덱스 n번째 글자가 같으면 사전순 정렬 + else return a > b ? 1 : -1; + }); +} From ee60a08d2a59c98c4774e9338b36b58bb5b7a82d Mon Sep 17 00:00:00 2001 From: chaerin <70943835+chaerin-dev@users.noreply.github.com> Date: Fri, 15 Apr 2022 23:47:27 +0900 Subject: [PATCH 06/19] =?UTF-8?q?Add=20=EB=82=98=EB=88=84=EC=96=B4-?= =?UTF-8?q?=EB=96=A8=EC=96=B4=EC=A7=80=EB=8A=94-=EC=88=AB=EC=9E=90-?= =?UTF-8?q?=EB=B0=B0=EC=97=B4.js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\354\210\253\354\236\220-\353\260\260\354\227\264.js" | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git "a/level-1/\353\202\230\353\210\204\354\226\264-\353\226\250\354\226\264\354\247\200\353\212\224-\354\210\253\354\236\220-\353\260\260\354\227\264.js" "b/level-1/\353\202\230\353\210\204\354\226\264-\353\226\250\354\226\264\354\247\200\353\212\224-\354\210\253\354\236\220-\353\260\260\354\227\264.js" index cb00c8f..9c6fc43 100644 --- "a/level-1/\353\202\230\353\210\204\354\226\264-\353\226\250\354\226\264\354\247\200\353\212\224-\354\210\253\354\236\220-\353\260\260\354\227\264.js" +++ "b/level-1/\353\202\230\353\210\204\354\226\264-\353\226\250\354\226\264\354\247\200\353\212\224-\354\210\253\354\236\220-\353\260\260\354\227\264.js" @@ -17,4 +17,13 @@ function solution(arr, divisor) { answer.length === 0 ? answer.push(-1) : null answer.sort((a, b) => a - b) return answer; +} + +//정답 3. chaerin-dev +function solution(arr, divisor) { + let answer = []; + arr.forEach((e) => { + if (e % divisor === 0) answer.push(e); + }); + return answer.length ? answer.sort((a, b) => a - b) : [-1]; } \ No newline at end of file From 8f5217fcc9fc214649fa3621e72a30bd0668a8c0 Mon Sep 17 00:00:00 2001 From: chaerin <70943835+chaerin-dev@users.noreply.github.com> Date: Fri, 15 Apr 2022 23:48:17 +0900 Subject: [PATCH 07/19] =?UTF-8?q?Add=20=EA=B0=99=EC=9D=80-=EC=88=AB?= =?UTF-8?q?=EC=9E=90=EB=8A=94-=EC=8B=AB=EC=96=B4.js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...54\236\220\353\212\224-\354\213\253\354\226\264.js" | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git "a/level-1/\352\260\231\354\235\200-\354\210\253\354\236\220\353\212\224-\354\213\253\354\226\264.js" "b/level-1/\352\260\231\354\235\200-\354\210\253\354\236\220\353\212\224-\354\213\253\354\226\264.js" index 032bed6..56ccfff 100644 --- "a/level-1/\352\260\231\354\235\200-\354\210\253\354\236\220\353\212\224-\354\213\253\354\226\264.js" +++ "b/level-1/\352\260\231\354\235\200-\354\210\253\354\236\220\353\212\224-\354\213\253\354\226\264.js" @@ -14,4 +14,12 @@ function solution(arr) { answer[answer.length - 1] !== arr[i] ? answer.push(arr[i]) : null } return answer; -} \ No newline at end of file +} + +//정답 3 - chaerin-dev +function solution(arr) { + // 콜백함수의 조건을 만족하는 '모든' 값을 배열로 반환하고, + // 조건을 만족하는 값이 없으면 빈 배열을 반환하는 filter 메서드 활용 + // 첫 번째 요소의 경우 undefined와 비교 + return arr.filter((item, index) => item !== arr[index - 1]); +} From 163ec4573188fe713179610c6727950aade26cd1 Mon Sep 17 00:00:00 2001 From: chaerin <70943835+chaerin-dev@users.noreply.github.com> Date: Fri, 15 Apr 2022 23:49:23 +0900 Subject: [PATCH 08/19] =?UTF-8?q?Add=20=EA=B0=80=EC=9A=B4=EB=8D=B0-?= =?UTF-8?q?=EA=B8=80=EC=9E=90-=EA=B0=80=EC=A0=B8=EC=98=A4=EA=B8=B0.js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...352\260\200\354\240\270\354\230\244\352\270\260.js" | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git "a/level-1/\352\260\200\354\232\264\353\215\260-\352\270\200\354\236\220-\352\260\200\354\240\270\354\230\244\352\270\260.js" "b/level-1/\352\260\200\354\232\264\353\215\260-\352\270\200\354\236\220-\352\260\200\354\240\270\354\230\244\352\270\260.js" index 172c890..e3b8ca6 100644 --- "a/level-1/\352\260\200\354\232\264\353\215\260-\352\270\200\354\236\220-\352\260\200\354\240\270\354\230\244\352\270\260.js" +++ "b/level-1/\352\260\200\354\232\264\353\215\260-\352\270\200\354\236\220-\352\260\200\354\240\270\354\230\244\352\270\260.js" @@ -29,4 +29,12 @@ function solution(s) { // 홀수인 경우 - 중간지점 else answer = s[point]; return answer; -} \ No newline at end of file +} + +// 정답 4 - chaerin-dev +function solution(s) { + return s.length % 2 + ? s[parseInt(s.length / 2)] + : s[s.length / 2 - 1] + s[s.length / 2]; +} + From 65b622911e43f1261aabf1bd5e126b7e6127aaa6 Mon Sep 17 00:00:00 2001 From: codeisneverodd Date: Sat, 16 Apr 2022 18:33:43 +0900 Subject: [PATCH 09/19] =?UTF-8?q?Update=20README=20template=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- utils/build.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/utils/build.js b/utils/build.js index 0cd2983..a391fa3 100644 --- a/utils/build.js +++ b/utils/build.js @@ -7,6 +7,8 @@ const FILE_TO_UPDATE = path.resolve(__dirname, "./README.md"); const updateData = `# 프로그래머스 모든 문제 풀이 [![방문자수](https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https://github.com/codeisneverodd/programmers-coding-test&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=방문자수(Today/Total)&edge_flat=true)](https://github.com/codeisneverodd) +> 😁 **도움이 되셨다면** 오른쪽 상단 ↗ 의 ⭐️ **Star를 클릭**해 이 프로젝트를 응원해주세요! + 🌱 프로그래머스의 [코딩테스트 문제](https://programmers.co.kr/learn/challenges?tab=all_challenges)의 문제 풀이를 찾으실 수 있습니다. 🌱 모든 문제는 JavaScript로 풀이되며, 원하는 풀이는 **아래에서 검색 🔎**을 통해 찾으실 수 있습니다 @@ -37,7 +39,6 @@ const updateData = `# 프로그래머스 모든 문제 풀이 | ------------------------------------------- | ------- | | [createhb21](https://github.com/createhb21) | 🚧 | -## 😁 **도움이 되셨다면** 오른쪽 상단 ↗ 의 ⭐️ **Star를 클릭**해 이 프로젝트를 응원해주세요! ## Control + F 혹은 Cmd + F 를 통해 원하는 문제의 풀이를 찾아보세요! From 26ac17e57d8006c5dfd8798751a2adcabbc15c2d Mon Sep 17 00:00:00 2001 From: github-actions Date: Sat, 16 Apr 2022 09:34:02 +0000 Subject: [PATCH 10/19] Automatic Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 79d684d..f83a6d1 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ # 프로그래머스 모든 문제 풀이 [![방문자수](https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https://github.com/codeisneverodd/programmers-coding-test&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=방문자수(Today/Total)&edge_flat=true)](https://github.com/codeisneverodd) +> 😁 **도움이 되셨다면** 오른쪽 상단 ↗ 의 ⭐️ **Star를 클릭**해 이 프로젝트를 응원해주세요! + 🌱 프로그래머스의 [코딩테스트 문제](https://programmers.co.kr/learn/challenges?tab=all_challenges)의 문제 풀이를 찾으실 수 있습니다. 🌱 모든 문제는 JavaScript로 풀이되며, 원하는 풀이는 **아래에서 검색 🔎**을 통해 찾으실 수 있습니다 @@ -31,7 +33,6 @@ | ------------------------------------------- | ------- | | [createhb21](https://github.com/createhb21) | 🚧 | -## 😁 **도움이 되셨다면** 오른쪽 상단 ↗ 의 ⭐️ **Star를 클릭**해 이 프로젝트를 응원해주세요! ## Control + F 혹은 Cmd + F 를 통해 원하는 문제의 풀이를 찾아보세요! From ab5aecab891daf90e2eeea3d66caeb6e505986f6 Mon Sep 17 00:00:00 2001 From: jaewon Date: Mon, 18 Apr 2022 17:07:57 +0900 Subject: [PATCH 11/19] =?UTF-8?q?Add=20220418=20=EC=B5=9C=EB=8C=93?= =?UTF-8?q?=EA=B0=92=EA=B3=BC-=EC=B5=9C=EC=86=9F=EA=B0=92=201=EA=B0=9C?= =?UTF-8?q?=EC=9D=98=20=ED=92=80=EC=9D=B4=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\352\263\274-\354\265\234\354\206\237\352\260\222.js" | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git "a/level-2/\354\265\234\353\214\223\352\260\222\352\263\274-\354\265\234\354\206\237\352\260\222.js" "b/level-2/\354\265\234\353\214\223\352\260\222\352\263\274-\354\265\234\354\206\237\352\260\222.js" index a8105f7..e16ed19 100644 --- "a/level-2/\354\265\234\353\214\223\352\260\222\352\263\274-\354\265\234\354\206\237\352\260\222.js" +++ "b/level-2/\354\265\234\353\214\223\352\260\222\352\263\274-\354\265\234\354\206\237\352\260\222.js" @@ -14,4 +14,13 @@ function solution(s) { const arr = s.split(' ').map(x => parseInt(x, 10)).sort((a, b) => a - b) answer = arr[0] + ' ' + arr[arr.length - 1] return answer; +} + +//정답 3 - jaewon1676 +function solution(s) { + s = s.split(' ') + s.sort((a, b) => {return a - b}) // 오름차순 정렬 + let small = s[0] // s의 최솟값 + let large = s[s.length - 1] // s의 최댓값 + return (small + ' ' + large) } \ No newline at end of file From 14860aedbb0950899ffd27dd790d4e04cbdbdc6f Mon Sep 17 00:00:00 2001 From: jaewon Date: Mon, 18 Apr 2022 17:09:41 +0900 Subject: [PATCH 12/19] =?UTF-8?q?Create=20220418=20n^2-=EB=B0=B0=EC=97=B4-?= =?UTF-8?q?=EC=9E=90=EB=A5=B4=EA=B8=B0=20=ED=8C=8C=EC=9D=BC=20=EC=83=9D?= =?UTF-8?q?=EC=84=B1=20=ED=9B=84=201=EA=B0=9C=EC=9D=98=20=ED=92=80?= =?UTF-8?q?=EC=9D=B4=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...227\264-\354\236\220\353\245\264\352\270\260.js" | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 "level-2/n^2-\353\260\260\354\227\264-\354\236\220\353\245\264\352\270\260.js" diff --git "a/level-2/n^2-\353\260\260\354\227\264-\354\236\220\353\245\264\352\270\260.js" "b/level-2/n^2-\353\260\260\354\227\264-\354\236\220\353\245\264\352\270\260.js" new file mode 100644 index 0000000..1fff1ad --- /dev/null +++ "b/level-2/n^2-\353\260\260\354\227\264-\354\236\220\353\245\264\352\270\260.js" @@ -0,0 +1,13 @@ +//https://github.com/codeisneverodd/programmers-coding-test +//완벽한 정답이 아닙니다. +//정답 1 - jaewon1676 +function solution (n, left, right) { + const answer = []; + + for (let i=left; i <= right; i++) { // left부터 right까지를 구한다. + let row = parseInt(i/n); // 행(row)을 구한다. + let column = i%n; // 열(column)을 구한다. + answer.push(Math.max(row, column) + 1) // 행과 열중 큰 값을 푸시한다. + } + return answer +} \ No newline at end of file From 531ffdb9a69ccd10cee2618ed01fcd397bf51380 Mon Sep 17 00:00:00 2001 From: jaewon Date: Mon, 18 Apr 2022 17:11:21 +0900 Subject: [PATCH 13/19] =?UTF-8?q?Create=20220418=20=EB=8B=A8=EC=86=8D?= =?UTF-8?q?=EC=B9=B4=EB=A9=94=EB=9D=BC=20=ED=8C=8C=EC=9D=BC=20=EC=83=9D?= =?UTF-8?q?=EC=84=B1=20=ED=9B=84=201=EA=B0=9C=EC=9D=98=20=ED=92=80?= =?UTF-8?q?=EC=9D=B4=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...15\354\271\264\353\251\224\353\235\274.js" | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 "level-3/\353\213\250\354\206\215\354\271\264\353\251\224\353\235\274.js" diff --git "a/level-3/\353\213\250\354\206\215\354\271\264\353\251\224\353\235\274.js" "b/level-3/\353\213\250\354\206\215\354\271\264\353\251\224\353\235\274.js" new file mode 100644 index 0000000..eb6f1b4 --- /dev/null +++ "b/level-3/\353\213\250\354\206\215\354\271\264\353\251\224\353\235\274.js" @@ -0,0 +1,34 @@ +//https://github.com/codeisneverodd/programmers-coding-test +//완벽한 정답이 아닙니다. +//정답 1 - jaewon1676 +function solution(routes) { + let cctv = 1; // cctv의 개수는 최소 1개 + routes.sort((a, b) => a[0] - b[0]); // 고속도로 진입 시점을 기준으로 오름차순 정렬 + // [ [ -20, -15 ], [ -18, -13 ], [ -14, -5 ], [ -5, -3 ] ] + let out = routes[0][1]; // -15 + // 나간 시점(out)은 첫 차량의 나간시점으로 초기화 + + for(let i = 1; i < routes.length; i++) { + // 나간 시점(out)보다 현재 차량의 진입이 느리다면 카메라 추가 설치 + if(out < routes[i][0]) { + cctv++; + out = routes[i][1]; // out 시점 업데이트 + } + + // 나간 시점(out)이 현재 차량의 진출시점보다 큰 경우 + if(out > routes[i][1]) { + out = routes[i][1]; // out 시점 업데이트 + } + } + + return cctv; +} +// 그리디 + +// 우리는 카메라를 최소로 설치 해야합니다. 그러기 위해서는 고속도로 진입 시점을 기준으로 오름차순 정렬을(빨리 진입한 순) 합니다. +// 이렇게 되면 배열에 있는 모든 고속도로 진입 시점은 배열의 첫번째 고속도로 진입 시점보다 더 뒤에 있습니다. 그러므로 우리는 +// 나간시점만 검사 해주면 됩니다. + +// 먼저 첫번째 routes의 고속도로를 빠져나간 시점을 out 변수에 담아줍니다. +// 이 out 변수를 두번째 routes의 고속도로를 빠져나간 시점과 비교하여 out 변수보다 route[i][1]가 크면 ( 나간 시간이 느리면) +// cctv를 하나 늘려줍니다. , out 변수를 갱신 하며 세번째, 네번째도 계속 비교해줍니다. \ No newline at end of file From 5b64e15f46a8856e7ebf99a64a7258c0dae6bace Mon Sep 17 00:00:00 2001 From: jaewon Date: Mon, 18 Apr 2022 17:12:28 +0900 Subject: [PATCH 14/19] =?UTF-8?q?Add=20220418=20=EC=B9=B4=ED=8E=AB=201?= =?UTF-8?q?=EA=B0=9C=EC=9D=98=20=ED=92=80=EC=9D=B4=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "level-2/\354\271\264\355\216\253.js" | 28 ++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git "a/level-2/\354\271\264\355\216\253.js" "b/level-2/\354\271\264\355\216\253.js" index c81c724..147962f 100644 --- "a/level-2/\354\271\264\355\216\253.js" +++ "b/level-2/\354\271\264\355\216\253.js" @@ -12,4 +12,30 @@ function widthHeightPair(size) { let result = [] for (let i = 1; i <= Math.sqrt(size); i++) if (size % i === 0) result.push([size / i, i]) return result -} \ No newline at end of file +} + +//정답 2 - jaewon1676 +function solution(brown, yellow) { + var answer = []; + let sum = brown + yellow; + + //카펫의 최소높이는 3부터이다.(테두리 갈색, 가운데 노란색) + for(let height=3; height Date: Mon, 18 Apr 2022 17:13:31 +0900 Subject: [PATCH 15/19] =?UTF-8?q?Add=20220418=20=EC=86=8C=EC=88=98-?= =?UTF-8?q?=EB=A7=8C=EB=93=A4=EA=B8=B0=201=EA=B0=9C=EC=9D=98=20=ED=92=80?= =?UTF-8?q?=EC=9D=B4=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0-\353\247\214\353\223\244\352\270\260.js" | 30 ++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git "a/level-1/\354\206\214\354\210\230-\353\247\214\353\223\244\352\270\260.js" "b/level-1/\354\206\214\354\210\230-\353\247\214\353\223\244\352\270\260.js" index 524b7a5..d877d04 100644 --- "a/level-1/\354\206\214\354\210\230-\353\247\214\353\223\244\352\270\260.js" +++ "b/level-1/\354\206\214\354\210\230-\353\247\214\353\223\244\352\270\260.js" @@ -21,4 +21,32 @@ function isPrime(num) { if (num % i === 0) return false } return true -} \ No newline at end of file +} + +//정답 2 - jaewon1676 +// https://programmers.co.kr/learn/courses/30/lessons/12977?language=javascript + +function solution(nums) { + let len = nums.length, answer = 0; + + for (let i = 0; i < len - 2; i++) { + for (let j = i + 1; j < len - 1; j++) { + for (let k = j + 1; k < len; k++) { + if (isPrime(nums[i] + nums[j] + nums[k])) { + answer++; + } + } + } + } + return answer; +} + +const isPrime = (n) => { + for (let i = 2; i <= Math.sqrt(n); i++) { //n의 제곱근까지 순회 + if (n % i === 0) { // 나머지가 0이 나오면 소수가 아니다. + return false; + } + } + return true; +} +// 세개의 수를 더해야 하기때문에 수 for문 하나당 수 하나를 넣어서 순회하였다. \ No newline at end of file From b598c1e768cbdc2189015510de4a8680620855d1 Mon Sep 17 00:00:00 2001 From: jaewon Date: Mon, 18 Apr 2022 17:19:24 +0900 Subject: [PATCH 16/19] =?UTF-8?q?Add=20220418=20=EC=B2=B4=EC=9C=A1?= =?UTF-8?q?=EB=B3=B5=201=EA=B0=9C=EC=9D=98=20=ED=92=80=EC=9D=B4=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= 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" | 27 ++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git "a/level-1/\354\262\264\354\234\241\353\263\265.js" "b/level-1/\354\262\264\354\234\241\353\263\265.js" index d3e33b1..e54662b 100644 --- "a/level-1/\354\262\264\354\234\241\353\263\265.js" +++ "b/level-1/\354\262\264\354\234\241\353\263\265.js" @@ -60,4 +60,29 @@ function solution(n, lost, reserve) { } // 체육복 1개 이상을 가진 학생들의 수 반환 return students.filter((v => v >= 1)).length; -} \ No newline at end of file +} + +//정답 3 - jaewon1676 +function solution(n, lost, reserve) { + let answer = Array(n).fill(1) // n만큼의 배열을 만들어서 1을 만들어줍니다 + let cnt = 0; + for(let i = 0; i < reserve.length; i++){ // reserve 를 순회하며 체육복 + answer[reserve[i]-1] += 1 + } + for(let i = 0; i < lost.length; i++){ // lost 를 순회하며 체육복 수를 -1 + answer[lost[i]-1] -= 1 + } + for(let i = 0; i < n; i++){ // n을 순회하며 앞사람과 뒷사람의 체육복 수를 비교한다. + if (answer[i] == 2 && answer[i+1] == 0 || answer[i+1] == 2 && answer[i] == 0){ + answer[i] = 1 + answer[i+1] = 1 + } + } + for(let i = 0; i < answer.length; i++){ + (answer[i] >= 1 ? cnt += 1 : null) + } + return cnt + } + //그리디 + // lost 배열과 reserve 배열을 순회하여 체육복을 추가, 제거 해줍니다. + // 그 후에 최종적으로 i부터 n까지 for문을 순회하며 i번쨰 학생과 i+1번째의 학생이 가진 체육복 수를 비교하여 빌려 줄 수 있는지, 빌려줄 수 없는지 확인 합니다. \ No newline at end of file From 1725b3d7d426c1921cbf225252cee49f6154262a Mon Sep 17 00:00:00 2001 From: jaewon Date: Mon, 18 Apr 2022 17:47:42 +0900 Subject: [PATCH 17/19] =?UTF-8?q?Add=20220418=20JadenCase-=EB=AC=B8?= =?UTF-8?q?=EC=9E=90=EC=97=B4-=EB=A7=8C=EB=93=A4=EA=B8=B0.js=201=EA=B0=9C?= =?UTF-8?q?=EC=9D=98=20=ED=92=80=EC=9D=B4=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...264-\353\247\214\353\223\244\352\270\260.js" | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git "a/level-2/JadenCase-\353\254\270\354\236\220\354\227\264-\353\247\214\353\223\244\352\270\260.js" "b/level-2/JadenCase-\353\254\270\354\236\220\354\227\264-\353\247\214\353\223\244\352\270\260.js" index 6bf88ab..7462044 100644 --- "a/level-2/JadenCase-\353\254\270\354\236\220\354\227\264-\353\247\214\353\223\244\352\270\260.js" +++ "b/level-2/JadenCase-\353\254\270\354\236\220\354\227\264-\353\247\214\353\223\244\352\270\260.js" @@ -6,4 +6,19 @@ function solution(s) { answer = s.split(' ').map(word => word.charAt(0).toUpperCase() + word.substring(1).toLowerCase()).join(' ') //word[0]은 빈 문자열을 만나면 undefined를, word.charAt(0)은 빈 문자열을 만나면 빈 문자열을 반환한다. return answer; -} \ No newline at end of file +} + +//정답 2 - jaewon1676 +function solution(s) { + s = s.split(' ').map(el => el.split('').map((el, index) => + index == 0 ? el.toUpperCase() : el.toLowerCase()).join('')).join(' ') + return s; +} +// 문자열을 연습하기에 좋은 문제입니다. + +// s.split(' ') // 띄어쓰기를 기준으로 나눕니다. +// .map(el => el.split('')) 나눈 덩어리를 다시 요소 하나 하나씩 나눠줍니다 +// .map((el, index) => index == 0 ? el.toUpperCase() : el.toLowerCase()) +// 덩어리의 요소가 첫번째이면 대문자, 그렇지 않으면 소문자로 변환 해줍니다. +// .join('') 작은 배열들을 합쳐줍니다. +// .join(' ') 큰 배열들을 합쳐줍니다. \ No newline at end of file From 8ee31282ad4d140f18c85ce0f650ca59701c8d69 Mon Sep 17 00:00:00 2001 From: github-actions Date: Mon, 18 Apr 2022 08:48:11 +0000 Subject: [PATCH 18/19] Automatic Update README.md --- README.md | 88 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 45 insertions(+), 43 deletions(-) diff --git a/README.md b/README.md index f83a6d1..cb30a60 100644 --- a/README.md +++ b/README.md @@ -103,7 +103,7 @@ ### Level 2 👨🏻‍💻(풀이 중..) - 전체 문제 수: 64문제 -- 풀이 문제 수: 45문제 +- 풀이 문제 수: 46문제 - 풀이 완료 예상 시점: 2022년 4월 중 | 번호 | 문제 출처 | 풀이 | @@ -116,48 +116,49 @@ | 6 | [[1차] 캐시](https://programmers.co.kr/learn/courses/30/lessons/17680) | [[1차]-캐시.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/[1차]-캐시.js) | | 7 | [[3차] n진수 게임](https://programmers.co.kr/learn/courses/30/lessons/17687) | [[3차]-n진수-게임.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/[3차]-n진수-게임.js) | | 8 | [[3차] 파일명 정렬](https://programmers.co.kr/learn/courses/30/lessons/17686) | [[3차]-파일명-정렬.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/[3차]-파일명-정렬.js) | -| 9 | [가장 큰 수](https://programmers.co.kr/learn/courses/30/lessons/42746) | [가장-큰-수.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/가장-큰-수.js) | -| 10 | [가장 큰 정사각형 찾기](https://programmers.co.kr/learn/courses/30/lessons/12905) | [가장-큰-정사각형-찾기.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/가장-큰-정사각형-찾기.js) | -| 11 | [거리두기 확인하기](https://programmers.co.kr/learn/courses/30/lessons/81302) | [거리두기-확인하기.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/거리두기-확인하기.js) | -| 12 | [괄호 변환](https://programmers.co.kr/learn/courses/30/lessons/60058) | [괄호-변환.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/괄호-변환.js) | -| 13 | [괄호 회전하기](https://programmers.co.kr/learn/courses/30/lessons/76502) | [괄호-회전하기.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/괄호-회전하기.js) | -| 14 | [구명보트](https://programmers.co.kr/learn/courses/30/lessons/42885) | [구명보트.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/구명보트.js) | -| 15 | [기능개발](https://programmers.co.kr/learn/courses/30/lessons/42586) | [기능개발.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/기능개발.js) | -| 16 | [다리를 지나는 트럭](https://programmers.co.kr/learn/courses/30/lessons/42583) | [다리를-지나는-트럭.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/다리를-지나는-트럭.js) | -| 17 | [다음 큰 숫자](https://programmers.co.kr/learn/courses/30/lessons/12911) | [다음-큰-숫자.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/다음-큰-숫자.js) | -| 18 | [땅따먹기](https://programmers.co.kr/learn/courses/30/lessons/12913) | [땅따먹기.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/땅따먹기.js) | -| 19 | [멀쩡한 사각형](https://programmers.co.kr/learn/courses/30/lessons/62048) | [멀쩡한-사각형.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/멀쩡한-사각형.js) | -| 20 | [메뉴 리뉴얼](https://programmers.co.kr/learn/courses/30/lessons/72411) | [메뉴-리뉴얼.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/메뉴-리뉴얼.js) | -| 21 | [문자열 압축](https://programmers.co.kr/learn/courses/30/lessons/60057) | [문자열-압축.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/문자열-압축.js) | -| 22 | [삼각 달팽이](https://programmers.co.kr/learn/courses/30/lessons/68645) | [삼각-달팽이.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/삼각-달팽이.js) | -| 23 | [소수 찾기](https://programmers.co.kr/learn/courses/30/lessons/42839) | [소수-찾기.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/소수-찾기.js) | -| 24 | [수식 최대화](https://programmers.co.kr/learn/courses/30/lessons/67257) | [수식-최대화.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/수식-최대화.js) | -| 25 | [숫자의 표현](https://programmers.co.kr/learn/courses/30/lessons/12924) | [숫자의-표현.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/숫자의-표현.js) | -| 26 | [스킬트리](https://programmers.co.kr/learn/courses/30/lessons/49993) | [스킬트리.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/스킬트리.js) | -| 27 | [영어 끝말잇기](https://programmers.co.kr/learn/courses/30/lessons/12981) | [영어-끝말잇기.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/영어-끝말잇기.js) | -| 28 | [예상 대진표](https://programmers.co.kr/learn/courses/30/lessons/12985) | [예상-대진표.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/예상-대진표.js) | -| 29 | [오픈채팅방 ](https://programmers.co.kr/learn/courses/30/lessons/42888) | [오픈채팅방.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/오픈채팅방.js) | -| 30 | [올바른 괄호](https://programmers.co.kr/learn/courses/30/lessons/12909) | [올바른-괄호.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/올바른-괄호.js) | -| 31 | [위장](https://programmers.co.kr/learn/courses/30/lessons/42578) | [위장.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/위장.js) | -| 32 | [점프와 순간 이동](https://programmers.co.kr/learn/courses/30/lessons/12980) | [점프와-순간-이동.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/점프와-순간-이동.js) | -| 33 | [조이스틱](https://programmers.co.kr/learn/courses/30/lessons/42860) | [조이스틱.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/조이스틱.js) | -| 34 | [짝지어 제거하기](https://programmers.co.kr/learn/courses/30/lessons/12973) | [짝지어-제거하기.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/짝지어-제거하기.js) | -| 35 | [최댓값과 최솟값](https://programmers.co.kr/learn/courses/30/lessons/12939) | [최댓값과-최솟값.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/최댓값과-최솟값.js) | -| 36 | [최솟값 만들기](https://programmers.co.kr/learn/courses/30/lessons/12941) | [최솟값-만들기.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/최솟값-만들기.js) | -| 37 | [카펫](https://programmers.co.kr/learn/courses/30/lessons/42842) | [카펫.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/카펫.js) | -| 38 | [큰 수 만들기](https://programmers.co.kr/learn/courses/30/lessons/42883) | [큰-수-만들기.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/큰-수-만들기.js) | -| 39 | [타겟 넘버](https://programmers.co.kr/learn/courses/30/lessons/43165) | [타겟-넘버.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/타겟-넘버.js) | -| 40 | [튜플](https://programmers.co.kr/learn/courses/30/lessons/64065) | [튜플.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/튜플.js) | -| 41 | [프린터](https://programmers.co.kr/learn/courses/30/lessons/42587) | [프린터.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/프린터.js) | -| 42 | [피보나치 수](https://programmers.co.kr/learn/courses/30/lessons/12945) | [피보나치-수.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/피보나치-수.js) | -| 43 | [행렬 테두리 회전하기](https://programmers.co.kr/learn/courses/30/lessons/77485) | [행렬-테두리-회전하기.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/행렬-테두리-회전하기.js) | -| 44 | [행렬의 곱셈](https://programmers.co.kr/learn/courses/30/lessons/12949) | [행렬의-곱셈.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/행렬의-곱셈.js) | -| 45 | [후보키](https://programmers.co.kr/learn/courses/30/lessons/42890) | [후보키.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/후보키.js) | +| 9 | [n^2 배열 자르기](https://programmers.co.kr/learn/courses/30/lessons/87390) | [n^2-배열-자르기.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/n^2-배열-자르기.js) | +| 10 | [가장 큰 수](https://programmers.co.kr/learn/courses/30/lessons/42746) | [가장-큰-수.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/가장-큰-수.js) | +| 11 | [가장 큰 정사각형 찾기](https://programmers.co.kr/learn/courses/30/lessons/12905) | [가장-큰-정사각형-찾기.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/가장-큰-정사각형-찾기.js) | +| 12 | [거리두기 확인하기](https://programmers.co.kr/learn/courses/30/lessons/81302) | [거리두기-확인하기.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/거리두기-확인하기.js) | +| 13 | [괄호 변환](https://programmers.co.kr/learn/courses/30/lessons/60058) | [괄호-변환.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/괄호-변환.js) | +| 14 | [괄호 회전하기](https://programmers.co.kr/learn/courses/30/lessons/76502) | [괄호-회전하기.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/괄호-회전하기.js) | +| 15 | [구명보트](https://programmers.co.kr/learn/courses/30/lessons/42885) | [구명보트.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/구명보트.js) | +| 16 | [기능개발](https://programmers.co.kr/learn/courses/30/lessons/42586) | [기능개발.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/기능개발.js) | +| 17 | [다리를 지나는 트럭](https://programmers.co.kr/learn/courses/30/lessons/42583) | [다리를-지나는-트럭.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/다리를-지나는-트럭.js) | +| 18 | [다음 큰 숫자](https://programmers.co.kr/learn/courses/30/lessons/12911) | [다음-큰-숫자.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/다음-큰-숫자.js) | +| 19 | [땅따먹기](https://programmers.co.kr/learn/courses/30/lessons/12913) | [땅따먹기.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/땅따먹기.js) | +| 20 | [멀쩡한 사각형](https://programmers.co.kr/learn/courses/30/lessons/62048) | [멀쩡한-사각형.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/멀쩡한-사각형.js) | +| 21 | [메뉴 리뉴얼](https://programmers.co.kr/learn/courses/30/lessons/72411) | [메뉴-리뉴얼.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/메뉴-리뉴얼.js) | +| 22 | [문자열 압축](https://programmers.co.kr/learn/courses/30/lessons/60057) | [문자열-압축.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/문자열-압축.js) | +| 23 | [삼각 달팽이](https://programmers.co.kr/learn/courses/30/lessons/68645) | [삼각-달팽이.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/삼각-달팽이.js) | +| 24 | [소수 찾기](https://programmers.co.kr/learn/courses/30/lessons/42839) | [소수-찾기.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/소수-찾기.js) | +| 25 | [수식 최대화](https://programmers.co.kr/learn/courses/30/lessons/67257) | [수식-최대화.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/수식-최대화.js) | +| 26 | [숫자의 표현](https://programmers.co.kr/learn/courses/30/lessons/12924) | [숫자의-표현.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/숫자의-표현.js) | +| 27 | [스킬트리](https://programmers.co.kr/learn/courses/30/lessons/49993) | [스킬트리.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/스킬트리.js) | +| 28 | [영어 끝말잇기](https://programmers.co.kr/learn/courses/30/lessons/12981) | [영어-끝말잇기.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/영어-끝말잇기.js) | +| 29 | [예상 대진표](https://programmers.co.kr/learn/courses/30/lessons/12985) | [예상-대진표.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/예상-대진표.js) | +| 30 | [오픈채팅방 ](https://programmers.co.kr/learn/courses/30/lessons/42888) | [오픈채팅방.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/오픈채팅방.js) | +| 31 | [올바른 괄호](https://programmers.co.kr/learn/courses/30/lessons/12909) | [올바른-괄호.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/올바른-괄호.js) | +| 32 | [위장](https://programmers.co.kr/learn/courses/30/lessons/42578) | [위장.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/위장.js) | +| 33 | [점프와 순간 이동](https://programmers.co.kr/learn/courses/30/lessons/12980) | [점프와-순간-이동.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/점프와-순간-이동.js) | +| 34 | [조이스틱](https://programmers.co.kr/learn/courses/30/lessons/42860) | [조이스틱.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/조이스틱.js) | +| 35 | [짝지어 제거하기](https://programmers.co.kr/learn/courses/30/lessons/12973) | [짝지어-제거하기.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/짝지어-제거하기.js) | +| 36 | [최댓값과 최솟값](https://programmers.co.kr/learn/courses/30/lessons/12939) | [최댓값과-최솟값.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/최댓값과-최솟값.js) | +| 37 | [최솟값 만들기](https://programmers.co.kr/learn/courses/30/lessons/12941) | [최솟값-만들기.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/최솟값-만들기.js) | +| 38 | [카펫](https://programmers.co.kr/learn/courses/30/lessons/42842) | [카펫.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/카펫.js) | +| 39 | [큰 수 만들기](https://programmers.co.kr/learn/courses/30/lessons/42883) | [큰-수-만들기.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/큰-수-만들기.js) | +| 40 | [타겟 넘버](https://programmers.co.kr/learn/courses/30/lessons/43165) | [타겟-넘버.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/타겟-넘버.js) | +| 41 | [튜플](https://programmers.co.kr/learn/courses/30/lessons/64065) | [튜플.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/튜플.js) | +| 42 | [프린터](https://programmers.co.kr/learn/courses/30/lessons/42587) | [프린터.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/프린터.js) | +| 43 | [피보나치 수](https://programmers.co.kr/learn/courses/30/lessons/12945) | [피보나치-수.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/피보나치-수.js) | +| 44 | [행렬 테두리 회전하기](https://programmers.co.kr/learn/courses/30/lessons/77485) | [행렬-테두리-회전하기.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/행렬-테두리-회전하기.js) | +| 45 | [행렬의 곱셈](https://programmers.co.kr/learn/courses/30/lessons/12949) | [행렬의-곱셈.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/행렬의-곱셈.js) | +| 46 | [후보키](https://programmers.co.kr/learn/courses/30/lessons/42890) | [후보키.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-2/후보키.js) | ### Level 3 👨🏻‍💻(풀이 중..) - 전체 문제 수: 52문제 -- 풀이 문제 수: 8문제 +- 풀이 문제 수: 9문제 - 풀이 완료 예상 시점: 2022년 8월 중 | 번호 | 문제 출처 | 풀이 | @@ -166,10 +167,11 @@ | 2 | [N-Queen](https://programmers.co.kr/learn/courses/30/lessons/12952) | [N-Queen.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-3/N-Queen.js) | | 3 | [가장 먼 노드](https://programmers.co.kr/learn/courses/30/lessons/49189) | [가장-먼-노드.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-3/가장-먼-노드.js) | | 4 | [네트워크](https://programmers.co.kr/learn/courses/30/lessons/43162) | [네트워크.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-3/네트워크.js) | -| 5 | [베스트앨범](https://programmers.co.kr/learn/courses/30/lessons/42579) | [베스트앨범.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-3/베스트앨범.js) | -| 6 | [여행경로](https://programmers.co.kr/learn/courses/30/lessons/43164) | [여행경로.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-3/여행경로.js) | -| 7 | [이중우선순위큐](https://programmers.co.kr/learn/courses/30/lessons/42628) | [이중우선순위큐.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-3/이중우선순위큐.js) | -| 8 | [입국심사](https://programmers.co.kr/learn/courses/30/lessons/43238) | [입국심사.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-3/입국심사.js) | +| 5 | [단속카메라](https://programmers.co.kr/learn/courses/30/lessons/42884) | [단속카메라.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-3/단속카메라.js) | +| 6 | [베스트앨범](https://programmers.co.kr/learn/courses/30/lessons/42579) | [베스트앨범.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-3/베스트앨범.js) | +| 7 | [여행경로](https://programmers.co.kr/learn/courses/30/lessons/43164) | [여행경로.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-3/여행경로.js) | +| 8 | [이중우선순위큐](https://programmers.co.kr/learn/courses/30/lessons/42628) | [이중우선순위큐.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-3/이중우선순위큐.js) | +| 9 | [입국심사](https://programmers.co.kr/learn/courses/30/lessons/43238) | [입국심사.js](https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-3/입국심사.js) | ### Level 4 From e13ee0b0faee2665ea443d215fbaaf4d4bc1c5d2 Mon Sep 17 00:00:00 2001 From: cruelladevil Date: Tue, 19 Apr 2022 23:45:44 +0900 Subject: [PATCH 19/19] Seperate steps to resolve nothing to commit --- .github/workflows/update-README.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/update-README.yml b/.github/workflows/update-README.yml index 71f8e28..da170c9 100644 --- a/.github/workflows/update-README.yml +++ b/.github/workflows/update-README.yml @@ -28,9 +28,14 @@ jobs: run: npm install - name: build README.md run: npm run build + - name: get diff + id: get_diff + run: | + git diff --quiet ./README.md || echo "::set-output name=new_changes_exist::true" - name: update README.md + if: steps.get_diff.outputs.new_changes_exist == 'true' run: | - git add . + git add ./README.md git config user.name github-actions git config user.email github-actions@github.com git commit -m "Automatic Update README.md"