From ee4b38242e5cccaaeba85300a618a06a76f3a857 Mon Sep 17 00:00:00 2001 From: minsoo kim Date: Wed, 2 Aug 2023 13:32:21 +0900 Subject: [PATCH 1/3] =?UTF-8?q?practice:=201=EC=A3=BC=EC=B0=A8=204?= =?UTF-8?q?=EB=B2=88=20=EB=AC=B8=EC=A0=9C=20=EC=A0=9C=EC=B6=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/1week/04/__submit__/minsoo-web.ts | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/packages/example/src/1week/04/__submit__/minsoo-web.ts b/packages/example/src/1week/04/__submit__/minsoo-web.ts index 8b57c97..56217b8 100644 --- a/packages/example/src/1week/04/__submit__/minsoo-web.ts +++ b/packages/example/src/1week/04/__submit__/minsoo-web.ts @@ -1,13 +1,15 @@ -export function convertToConditionalUpperCase(words: string[]): string[] { - const capitalized = [] - - for (let i = 0; i < words.length; i += 1) { - if (words[i].length > 5) { - capitalized.push(words[i].toUpperCase()) - } else { - capitalized.push(words[i].toLowerCase()) - } - } +const condition = (text: string, criteria = 5) => text.length > criteria - return capitalized +/** + * 접근 방법: + * 앞선 문제들과 비슷하게, 순수함수를 뽑고, + * map을 활용해서 copy on write 방식을 적용해봤습니다. + * + * @param words 단어들의 배열입니다. + * @returns 컨디션에 맞게 배열의 단어들을 소문자와 대문자의 조합으로 반환해줍니다. + */ +export function convertToConditionalUpperCase(words: string[]): string[] { + return words.map((word) => + condition(word) ? word.toUpperCase() : word.toLocaleLowerCase(), + ) } From 76502b29dd8c832b52625b0131eded3c76fd71a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=AF=BC=EC=88=98?= <57122180+minsoo-web@users.noreply.github.com> Date: Fri, 11 Aug 2023 02:57:39 +0900 Subject: [PATCH 2/3] Update packages/example/src/1week/04/__submit__/minsoo-web.ts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: 퉁이리 --- packages/example/src/1week/04/__submit__/minsoo-web.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/example/src/1week/04/__submit__/minsoo-web.ts b/packages/example/src/1week/04/__submit__/minsoo-web.ts index 56217b8..c2af194 100644 --- a/packages/example/src/1week/04/__submit__/minsoo-web.ts +++ b/packages/example/src/1week/04/__submit__/minsoo-web.ts @@ -1,4 +1,4 @@ -const condition = (text: string, criteria = 5) => text.length > criteria +const isLongerThanCriteria = (text: string, criteria = 5) => text.length > criteria /** * 접근 방법: From 5c18bc331ee86272083de235f6ac4d02d3d60ec9 Mon Sep 17 00:00:00 2001 From: minsoo kim Date: Fri, 11 Aug 2023 02:58:37 +0900 Subject: [PATCH 3/3] =?UTF-8?q?chore:=20=EC=B6=A9=EC=9D=BC=EB=8B=98=20?= =?UTF-8?q?=EB=A6=AC=EB=B7=B0=20=EB=B0=98=EC=98=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/example/src/1week/04/__submit__/minsoo-web.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/example/src/1week/04/__submit__/minsoo-web.ts b/packages/example/src/1week/04/__submit__/minsoo-web.ts index c2af194..d1acc10 100644 --- a/packages/example/src/1week/04/__submit__/minsoo-web.ts +++ b/packages/example/src/1week/04/__submit__/minsoo-web.ts @@ -1,4 +1,5 @@ -const isLongerThanCriteria = (text: string, criteria = 5) => text.length > criteria +const isLongerThanCriteria = (text: string, criteria = 5) => + text.length > criteria /** * 접근 방법: @@ -10,6 +11,6 @@ const isLongerThanCriteria = (text: string, criteria = 5) => text.length > crite */ export function convertToConditionalUpperCase(words: string[]): string[] { return words.map((word) => - condition(word) ? word.toUpperCase() : word.toLocaleLowerCase(), + isLongerThanCriteria(word) ? word.toUpperCase() : word.toLocaleLowerCase(), ) }