From 17150a9df4ac651990c020c937edd15ffeec8d45 Mon Sep 17 00:00:00 2001 From: minkyeongJ Date: Thu, 13 Oct 2022 23:08:28 +0900 Subject: [PATCH] =?UTF-8?q?=0Dfeat:=20=ED=92=80=EC=9D=B4=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...202\254\355\212\270\353\246\254&49993&.js" | 55 ++++++++++++++++++- 1 file changed, 54 insertions(+), 1 deletion(-) diff --git "a/level-2/\354\212\244\355\202\254\355\212\270\353\246\254&49993&.js" "b/level-2/\354\212\244\355\202\254\355\212\270\353\246\254&49993&.js" index 7143bb8..06682b3 100644 --- "a/level-2/\354\212\244\355\202\254\355\212\270\353\246\254&49993&.js" +++ "b/level-2/\354\212\244\355\202\254\355\212\270\353\246\254&49993&.js" @@ -13,4 +13,57 @@ function solution(skill, skill_trees) { function checkOrder(checkArr) { for (let i = 0; i < checkArr.length; i++) if (checkArr[i] !== i) return false return true -} \ No newline at end of file +} + +//정답 2 - minkyeongJ +function solution(skill, skill_trees) { + //return할 변수 + var answer = 0; + + //파라미터로 받은 값을 모두 비교가능하게 쪼갬 + const skillArr = Array.from(skill); + const skillTreesElementArr = skill_trees.map(skillTreesElement => Array.from(skillTreesElement)); + + //스킬이 있는 위치 체크 + let checkArr = []; + + /** skillTreesElementArr에 있는 배열 순서대로 skillArr의 값과 비교 + * 일치하는 값은 skillArr의 배열번호로 변환하여 새로운 배열에 삽입 + * 배열을 모두 순환했는데도 값이 일치하지 않으면 27 반환 + */ + skillTreesElementArr.forEach((skillTreesElement, i) => { + checkArr[i] = []; + skillArr.forEach((skillElement, j) => { + for(let number = 0; number < skillTreesElement.length; number++){ + if(skillTreesElement[number] === skillElement){ + //같다면 number을 check[i]에 push + checkArr[i].push(number); + break; + }else if(skillTreesElement.length === number+1 && checkArr[i].length === j){ + //값을 다 비교했을 때 매칭되는 것이 없으면 27 입력 + checkArr[i].push(27); + } + } + }) + }) + + //checkArr 배열 앞 뒤 크기 비교해서 오름차순인지 확인하기 + checkArr.forEach(checkArrElement => { + //배열의 길이가 1일 때 answer++ + if(skill.length === 1){ + answer++; + } + //배열 앞 뒤 크기 비교해서 오름차순인지 확인 + for(let i = 1; i < checkArrElement.length ; i++){ + if(checkArrElement[i-1] > checkArrElement[i]){ + //오름차순이 아니면 break + break; + }else if(i === checkArrElement.length - 1){ + //오름차순이면 answer++; + answer++; + } + } + }); + + return answer; +} pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy