From c80ffbb1a8ede80ca4f52a928e84718abebac052 Mon Sep 17 00:00:00 2001 From: Jeon Eonseok Date: Sat, 2 Dec 2023 07:31:56 +0900 Subject: [PATCH 1/7] =?UTF-8?q?8=EC=A3=BC=EC=B0=A8=20=EC=B2=AB=20=EB=B2=88?= =?UTF-8?q?=EC=A7=B8=20=EB=AC=B8=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "\354\226\270\354\204\235/week8/1.js" | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 "\354\226\270\354\204\235/week8/1.js" diff --git "a/\354\226\270\354\204\235/week8/1.js" "b/\354\226\270\354\204\235/week8/1.js" new file mode 100644 index 0000000..499b826 --- /dev/null +++ "b/\354\226\270\354\204\235/week8/1.js" @@ -0,0 +1,15 @@ +// https://school.programmers.co.kr/learn/courses/30/lessons/12935 +// 제일 작은 수 제거하기 + +function solution(arr) { + const minIdx = arr.indexOf(Math.min(...arr)); + console.log(minIdx); + + arr.splice(minIdx, 1) + + if (arr.length === 0) { + return [-1] + } + + return arr; +} From c805f5780f9debb6f523724b58322e73ae25391e Mon Sep 17 00:00:00 2001 From: Jeon Eonseok Date: Sat, 2 Dec 2023 07:58:33 +0900 Subject: [PATCH 2/7] =?UTF-8?q?8=EC=A3=BC=EC=B0=A8=20=EB=91=90=20=EB=B2=88?= =?UTF-8?q?=EC=A7=B8=20=EB=AC=B8=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "\354\226\270\354\204\235/week8/2.js" | 38 +++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 "\354\226\270\354\204\235/week8/2.js" diff --git "a/\354\226\270\354\204\235/week8/2.js" "b/\354\226\270\354\204\235/week8/2.js" new file mode 100644 index 0000000..3d1e7e8 --- /dev/null +++ "b/\354\226\270\354\204\235/week8/2.js" @@ -0,0 +1,38 @@ +// https://school.programmers.co.kr/learn/courses/30/lessons/12903 +// 가운데 글자 가져오기 + +function solution(s) { + const strLen = s.length; + + const midIdx = Math.floor(strLen / 2); + + if (strLen % 2 !== 0) return s[midIdx]; + if (strLen % 2 === 0) return s[midIdx - 1] + s[midIdx]; + + return midIdx; +} + +// 다른 사람 풀이 + +function solution2(s) { + return s.substr(Math.ceil(s.length / 2) - 1, s.length % 2 === 0 ? 2 : 1); +} + +/** + * substr() + * 사용을 권장하진 않는다고 한다. + * + * substr(start) + * substr(start, length) + * + * return vale + * 해당 부분의 새로운 string + * + * const str = 'Mozilla'; + * + * console.log(str.substr(1, 2)); + * // Expected output: "oz" + * + * console.log(str.substr(2)); + * // Expected output: "zilla" + */ \ No newline at end of file From 0d8827a5a64efaa728499729955a21c48ca4a27a Mon Sep 17 00:00:00 2001 From: Jeon Eonseok Date: Sat, 2 Dec 2023 08:04:18 +0900 Subject: [PATCH 3/7] =?UTF-8?q?8=EC=A3=BC=EC=B0=A8=20=EC=84=B8=20=EB=B2=88?= =?UTF-8?q?=EC=A7=B8=20=EB=AC=B8=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "\354\226\270\354\204\235/week8/3.js" | 28 +++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 "\354\226\270\354\204\235/week8/3.js" diff --git "a/\354\226\270\354\204\235/week8/3.js" "b/\354\226\270\354\204\235/week8/3.js" new file mode 100644 index 0000000..e032cad --- /dev/null +++ "b/\354\226\270\354\204\235/week8/3.js" @@ -0,0 +1,28 @@ +// https://school.programmers.co.kr/learn/courses/30/lessons/12917 +// 문자열 내림차순으로 배치하기 + +function solution(s) { + return (Array(...s).sort().reverse().join('')); +} + +// 다른 풀이 +function solution2(s) { + return s + .split("") + .sort() + .reverse() + .join(""); +} + +/** + * obj.sort().reverse(); + * vs + * obj.sort((a, b) => (a > b ? -1 : 1)) + * vs + * obj.sort((a, b) => b.localeCompare(a)) + * + * winner is obj.sort().reverse() + * + * ref + * https://stackoverflow.com/questions/52030110/sorting-strings-in-descending-order-in-javascript-most-efficiently + */ \ No newline at end of file From a26eaffb0285ec94b501cbed6e915a9fd6660fce Mon Sep 17 00:00:00 2001 From: Jeon Eonseok Date: Fri, 8 Dec 2023 11:55:36 +0900 Subject: [PATCH 4/7] =?UTF-8?q?9=EC=A3=BC=EC=B0=A8=20=EC=B2=AB=EB=B2=88?= =?UTF-8?q?=EC=A7=B8=20=EB=AC=B8=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "\354\226\270\354\204\235/week9/1.js" | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 "\354\226\270\354\204\235/week9/1.js" diff --git "a/\354\226\270\354\204\235/week9/1.js" "b/\354\226\270\354\204\235/week9/1.js" new file mode 100644 index 0000000..fb7fe4f --- /dev/null +++ "b/\354\226\270\354\204\235/week9/1.js" @@ -0,0 +1,17 @@ +// https://school.programmers.co.kr/learn/courses/30/lessons/12948 +// 핸드폰 번호 가리기 + +function solution(phone_number) { + return '*'.repeat(phone_number.length - 4) + phone_number.slice(phone_number.length - 4); +} + +// 다른 사람 풀이1 +function hide_numbers(s){ + return s.replace(/\d(?=\d{4})/g, "*"); +} + +// 다른 사람 풀이2 +function hide_numbers(s){ + var result = "*".repeat(s.length - 4) + s.slice(-4); + return result; +} \ No newline at end of file From d11e14bbe40eab7ae7cc39632d8844b326cc6732 Mon Sep 17 00:00:00 2001 From: Jeon Eonseok Date: Fri, 8 Dec 2023 17:08:23 +0900 Subject: [PATCH 5/7] =?UTF-8?q?9=EC=A3=BC=EC=B0=A8=20=EB=91=90=EB=B2=88?= =?UTF-8?q?=EC=A7=B8=20=EB=AC=B8=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "\354\226\270\354\204\235/week9/2.js" | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 "\354\226\270\354\204\235/week9/2.js" diff --git "a/\354\226\270\354\204\235/week9/2.js" "b/\354\226\270\354\204\235/week9/2.js" new file mode 100644 index 0000000..a17d649 --- /dev/null +++ "b/\354\226\270\354\204\235/week9/2.js" @@ -0,0 +1,24 @@ +// https://school.programmers.co.kr/learn/courses/30/lessons/12912 +// 두 정수 사이의 합 + +function solution(a, b) { + let sum = 0; + if (a < b) { + for (let i = a; i <= b; i++) { + sum += i; + } + } else { + for (let i = b; i <= a; i++) { + sum += i; + } + } + + return sum; +} + +// 다른 사람 풀이 +function adder(a, b, s = 0){ + for (var i = Math.min(a, b); i <= Math.max(a, b); i++) s += i; + + return s; +} From 568d8c029203c23436ec6e424bf700cdc6634b18 Mon Sep 17 00:00:00 2001 From: Jeon Eonseok Date: Sat, 9 Dec 2023 02:04:48 +0900 Subject: [PATCH 6/7] =?UTF-8?q?9=EC=A3=BC=EC=B0=A8=20=EC=84=B8=EB=B2=88?= =?UTF-8?q?=EC=A7=B8=20=EB=AC=B8=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "\354\226\270\354\204\235/week9/3.js" | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 "\354\226\270\354\204\235/week9/3.js" diff --git "a/\354\226\270\354\204\235/week9/3.js" "b/\354\226\270\354\204\235/week9/3.js" new file mode 100644 index 0000000..c7eb5c9 --- /dev/null +++ "b/\354\226\270\354\204\235/week9/3.js" @@ -0,0 +1,12 @@ +// https://school.programmers.co.kr/learn/courses/30/lessons/86051 +// 없는 숫자 더하기 + +function solution(numbers) { + let answer = 0; + + for (let i = 0; i < 10; i++) { + if (!numbers.includes(i)) answer += i; + } + + return answer; +} From bc5e63f371eb9ac54e4ba8309e1b475fa9859816 Mon Sep 17 00:00:00 2001 From: Jeon Eonseok Date: Sun, 10 Dec 2023 12:55:16 +0900 Subject: [PATCH 7/7] =?UTF-8?q?9=EC=A3=BC=EC=B0=A8=204=EB=B2=88=EC=A7=B8?= =?UTF-8?q?=20=EB=AC=B8=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "\354\226\270\354\204\235/week9/4.js" | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 "\354\226\270\354\204\235/week9/4.js" diff --git "a/\354\226\270\354\204\235/week9/4.js" "b/\354\226\270\354\204\235/week9/4.js" new file mode 100644 index 0000000..9038446 --- /dev/null +++ "b/\354\226\270\354\204\235/week9/4.js" @@ -0,0 +1,8 @@ +// https://school.programmers.co.kr/learn/courses/30/lessons/12931 +// 자릿수 더하기 + +function solution(n) { + let answer = String(n).split('').reduce((acc, cur) => +acc + +cur, 0); + + return answer; +}