diff --git "a/level-1/3354円247円204円353円262円225円-353円222円244円354円247円221円352円270円260円.js" "b/level-1/3354円247円204円353円262円225円-353円222円244円354円247円221円352円270円260円.js" index 9bac56e..54b8d7a 100644 --- "a/level-1/3354円247円204円353円262円225円-353円222円244円354円247円221円352円270円260円.js" +++ "b/level-1/3354円247円204円353円262円225円-353円222円244円354円247円221円352円270円260円.js" @@ -31,4 +31,9 @@ function solution(n) { var answer = n.toString(3).split('').reverse().join('') return parseInt(answer, 3) +} + +//정답 4 - prove-ability +function solution(n) { + return parseInt(n.toString(3).split("").reverse().join(""), 3) } \ No newline at end of file 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 56ccfff..7481f9a 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" @@ -23,3 +23,22 @@ function solution(arr) { // 첫 번째 요소의 경우 undefined와 비교 return arr.filter((item, index) => item !== arr[index - 1]); } + +// 정답 4 - prove-ability +function solution(arr) { + let answer = []; + // 이중 배열을 사용해서 포인터?를 두 개를 사용한다 + for (let i = 0, len = arr.length - 1; i < len; i++) { + // i 의 다음수를 비교하기 위해 j = (i + 1) + for (let j = i + 1, len = arr.length; j < len; j++) { + // i 와 j 번째 값이 같이 않다면 + if (arr[i] !== arr[j]) { + answer.push(arr[i]); + i = j - 1; + break; + } + } + } + answer.push(arr[arr.length - 1]); + return answer; +} 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 9c6fc43..b086afa 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" @@ -26,4 +26,11 @@ function solution(arr, divisor) { if (e % divisor === 0) answer.push(e); }); return answer.length ? answer.sort((a, b) => a - b) : [-1]; +} + +//정답 4 - prove-ailbity +function solution(arr, divisor) { + var answer = []; + arr.forEach((v) => v % divisor === 0 && answer.push(v)) + return answer.length === 0 ? [-1] : answer.sort((a, b) => a - b); } \ No newline at end of file diff --git "a/level-1/353円202円230円353円250円270円354円247円200円352円260円200円-1354円235円264円-353円220円230円353円212円224円-354円210円230円-354円260円276円352円270円260円.js" "b/level-1/353円202円230円353円250円270円354円247円200円352円260円200円-1354円235円264円-353円220円230円353円212円224円-354円210円230円-354円260円276円352円270円260円.js" index 0a76d7c..e06c4fb 100644 --- "a/level-1/353円202円230円353円250円270円354円247円200円352円260円200円-1354円235円264円-353円220円230円353円212円224円-354円210円230円-354円260円276円352円270円260円.js" +++ "b/level-1/353円202円230円353円250円270円354円247円200円352円260円200円-1354円235円264円-353円220円230円353円212円224円-354円210円230円-354円260円276円352円270円260円.js" @@ -7,4 +7,18 @@ function solution(n) { n % divisor === 1 ? answer = divisor : null } return answer; +} + +//정답 2 - prove-ability +function solution(n) { + var answer = 0; + let i = 0; + while(true) { + if(n % i === 1) { + answer = i; + break; + } + i++; + } + return answer; } \ No newline at end of file diff --git "a/level-1/353円221円220円-352円260円234円-353円275円221円354円225円204円354円204円234円-353円215円224円355円225円230円352円270円260円.js" "b/level-1/353円221円220円-352円260円234円-353円275円221円354円225円204円354円204円234円-353円215円224円355円225円230円352円270円260円.js" index 729dfb8..a5bc6a5 100644 --- "a/level-1/353円221円220円-352円260円234円-353円275円221円354円225円204円354円204円234円-353円215円224円355円225円230円352円270円260円.js" +++ "b/level-1/353円221円220円-352円260円234円-353円275円221円354円225円204円354円204円234円-353円215円224円355円225円230円352円270円260円.js" @@ -12,4 +12,17 @@ function solution(numbers) { answer = [...new Set(answer)] answer.sort((a, b) => a - b) return answer; +} + +//정답 2 - prove-ability +function solution(numbers) { + const answer = []; + + for(let i = 0, len = numbers.length; i < len; i++) { + for(let j = i + 1, len = numbers.length; j < len; j++) { + if(!answer.includes(numbers[i] + numbers[j])) answer.push(numbers[i] + numbers[j]) + } + } + + return answer.sort((a, b) => a - b); } \ No newline at end of file diff --git "a/level-1/353円221円220円-354円240円225円354円210円230円-354円202円254円354円235円264円354円235円230円-355円225円251円.js" "b/level-1/353円221円220円-354円240円225円354円210円230円-354円202円254円354円235円264円354円235円230円-355円225円251円.js" index 96b9225..90aaf92 100644 --- "a/level-1/353円221円220円-354円240円225円354円210円230円-354円202円254円354円235円264円354円235円230円-355円225円251円.js" +++ "b/level-1/353円221円220円-354円240円225円354円210円230円-354円202円254円354円235円264円354円235円230円-355円225円251円.js" @@ -17,3 +17,17 @@ function solution(a, b) { } return answer; } + +//정답 3 - prove-ability +function solution(a, b) { + let answer = 0; + for(let i = Math.min(a, b), len = Math.max(a, b); i <= len; i++) { + answer += i; + } + return answer; +} + +//정답 4 - prove-ability +function solution(a, b) { + return Array.from({length: Math.max(a, b) - Math.min(a, b) + 1}, (_, i) => i + Math.min(a, b)).reduce((a, b) => a + b, 0); +} \ No newline at end of file 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 3d7cce9..bd76094 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" @@ -22,3 +22,16 @@ function solution(strings, n) { else return a> b ? 1 : -1; }); } + +// 정답 3 - prove-ability +function solution(strings, n) { + // 정렬 + strings.sort((a, b) => { + // n번째 클자가 같다면 사전순 + if(a[n].charCodeAt() === b[n].charCodeAt()) { + return a> b ? 1 : -1; + } else return a[n].charCodeAt() - b[n].charCodeAt(); + }); + + return strings; +} 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 489f198..7c35fc8 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" @@ -21,3 +21,8 @@ function solution(s) { function solution(s) { return s.split("").sort((a, b) => (a < b ? 1 : -1)).join(""); } + +//정답4 - prove-ability +function solution(s) { + return s.split("").sort().reverse().join("") +} diff --git "a/level-1/353円266円200円354円241円261円355円225円234円-352円270円210円354円225円241円-352円263円204円354円202円260円355円225円230円352円270円260円.js" "b/level-1/353円266円200円354円241円261円355円225円234円-352円270円210円354円225円241円-352円263円204円354円202円260円355円225円230円352円270円260円.js" index c417681..a6e4ee0 100644 --- "a/level-1/353円266円200円354円241円261円355円225円234円-352円270円210円354円225円241円-352円263円204円354円202円260円355円225円230円352円270円260円.js" +++ "b/level-1/353円266円200円354円241円261円355円225円234円-352円270円210円354円225円241円-352円263円204円354円202円260円355円225円230円352円270円260円.js" @@ -36,4 +36,14 @@ function solution(price, money, count) { return 0; } return sum_price - money; +} + +//정답 3 - prove-ability +function solution(price, money, count) { + let sum = 0; + for(let i = 1; i <= count; i++) { + sum += (i * price) + } + + return sum < money ? 0 : sum - money; } \ No newline at end of file diff --git "a/level-1/354円204円234円354円232円270円354円227円220円354円204円234円-352円271円200円354円204円234円353円260円251円-354円260円276円352円270円260円.js" "b/level-1/354円204円234円354円232円270円354円227円220円354円204円234円-352円271円200円354円204円234円353円260円251円-354円260円276円352円270円260円.js" index 1a503f3..881e45e 100644 --- "a/level-1/354円204円234円354円232円270円354円227円220円354円204円234円-352円271円200円354円204円234円353円260円251円-354円260円276円352円270円260円.js" +++ "b/level-1/354円204円234円354円232円270円354円227円220円354円204円234円-352円271円200円354円204円234円353円260円251円-354円260円276円352円270円260円.js" @@ -11,3 +11,8 @@ function solution(seoul) { function solution(seoul) { return `김서방은 ${seoul.indexOf("Kim")}에 있다`; } + +//정답 3 - prove-ability +function solution(seoul) { + return `김서방은 ${seoul.findIndex(v => v === "Kim")}에 있다`; +} \ No newline at end of file diff --git "a/level-1/354円210円230円353円260円225円354円210円230円353円260円225円354円210円230円353円260円225円354円210円230円353円260円225円354円210円230円353円260円225円354円210円230円.js" "b/level-1/354円210円230円353円260円225円354円210円230円353円260円225円354円210円230円353円260円225円354円210円230円353円260円225円354円210円230円353円260円225円354円210円230円.js" index f4af0b0..3dc8b21 100644 --- "a/level-1/354円210円230円353円260円225円354円210円230円353円260円225円354円210円230円353円260円225円354円210円230円353円260円225円354円210円230円353円260円225円354円210円230円.js" +++ "b/level-1/354円210円230円353円260円225円354円210円230円353円260円225円354円210円230円353円260円225円354円210円230円353円260円225円354円210円230円353円260円225円354円210円230円.js" @@ -23,4 +23,12 @@ function solution(n) { (i % 2 == 0 ? str = str + '수' : str = str + '박') } return str; +} + +//정답 3 - prove-ability +function solution(n) { + let answer = ''; + answer = "수박".repeat(n / 2) + if(n % 2 !== 0) answer += '수' + return answer; } \ No newline at end of file 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 cc20044..cf2284c 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" @@ -60,4 +60,23 @@ function solution(s, n) { } } return result; +} + +//정답 4 - prove-ability +function solution(s, n) { + var answer = ''; + for(let i = 0, len = s.length; i < len; i++) { + if(s[i] === " ") { + answer += " "; + continue; + } + let index = s[i].charCodeAt(); + // 65 - 90 + // 97 - 122 + if(index <= 90 && index + n> 90) index -= 26; + else if (index + n> 122) index -= 26; + + answer += String.fromCharCode(index + n) + } + return answer; } \ No newline at end of file diff --git "a/level-1/354円225円275円354円210円230円354円235円230円-355円225円251円.js" "b/level-1/354円225円275円354円210円230円354円235円230円-355円225円251円.js" index 0bfbfd3..b8bea7a 100644 --- "a/level-1/354円225円275円354円210円230円354円235円230円-355円225円251円.js" +++ "b/level-1/354円225円275円354円210円230円354円235円230円-355円225円251円.js" @@ -51,4 +51,13 @@ function solution(n) { } // 약수란 어떤 수를 나누었을 때 나머지 없이 나누어 떨어지게 하는 그 수입니다. // 10을 예로 들면, 10은 1, 2, 5, 10 이 나누었을 때 나머지가 없으므로 약수입니다. -// 3, 4, 6, 7, 8, 9 는 나누었을 때 나머지가 남기때문에 약수가 아닙니다. \ No newline at end of file +// 3, 4, 6, 7, 8, 9 는 나누었을 때 나머지가 남기때문에 약수가 아닙니다. + +//정답 4 - prove-ability +function solution(n) { + let answer = 0; + for(let i = 1; i <= n; i++) { + if(n % i === 0) answer += i; + } + return answer; +} \ No newline at end of file diff --git "a/level-1/354円230円210円354円202円260円.js" "b/level-1/354円230円210円354円202円260円.js" index 5ebb62d..ed46312 100644 --- "a/level-1/354円230円210円354円202円260円.js" +++ "b/level-1/354円230円210円354円202円260円.js" @@ -10,4 +10,21 @@ function solution(d, budget) { budget -= department } return answer; -} \ No newline at end of file +} + +//정답 2 - prove-ability +function solution(d, budget) { + let sum = 0; + let count = 0; + // 오름차순 정렬 + d.sort((a, b) => a - b); + for(let i = 0, len = d.length; i < len; i++) { + // 작은 수 부터 하나씩 더해준다 + sum += d[i]; + // 더한 수가 정해진 예산과 같다면 이전까지 센 카운트 반환 + if(sum> budget) return count; + count++; + } + + return count; +} diff --git "a/level-1/354円235円264円354円203円201円355円225円234円-353円254円270円354円236円220円-353円247円214円353円223円244円352円270円260円.js" "b/level-1/354円235円264円354円203円201円355円225円234円-353円254円270円354円236円220円-353円247円214円353円223円244円352円270円260円.js" index 86813d6..b224029 100644 --- "a/level-1/354円235円264円354円203円201円355円225円234円-353円254円270円354円236円220円-353円247円214円353円223円244円352円270円260円.js" +++ "b/level-1/354円235円264円354円203円201円355円225円234円-353円254円270円354円236円220円-353円247円214円353円223円244円352円270円260円.js" @@ -54,4 +54,18 @@ function solution(s) { 대, 소문자 변환, split, reverse, join, map 등등을 활용 해야 하므로 문자열을 연습하는데 좋은 문제입니다. -*/ \ No newline at end of file +*/ + +//정답 4 - prove-ability +function solution(s) { + let answer = ''; + s.split(" ").forEach((word) => { + for(let i = 0, len = word.length; i < len; i++) { + if(i % 2 === 0) answer+=word[i].toUpperCase(); + else answer+=word[i].toLowerCase(); + } + answer += " "; + }) + answer = answer.slice(0, answer.length - 1) + return answer; +} \ No newline at end of file diff --git "a/level-1/354円240円225円354円210円230円-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/354円240円225円354円210円230円-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 daafe88..9a9bd41 100644 --- "a/level-1/354円240円225円354円210円230円-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/354円240円225円354円210円230円-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" @@ -20,4 +20,9 @@ function solution(n) { arrN.sort((a, b) => b - a); // 배열 -> 문자열 -> 정수 return parseInt(arrN.join("")); +} + +//정답 3 - prove-ability +function solution(n) { + return parseInt(n.toString().split("").sort((a, b) => b - a).join(""), 10); } \ No newline at end of file diff --git "a/level-1/354円265円234円354円206円214円354円247円201円354円202円254円352円260円201円355円230円225円.js" "b/level-1/354円265円234円354円206円214円354円247円201円354円202円254円352円260円201円355円230円225円.js" index fc0741d..e9a5fbb 100644 --- "a/level-1/354円265円234円354円206円214円354円247円201円354円202円254円352円260円201円355円230円225円.js" +++ "b/level-1/354円265円234円354円206円214円354円247円201円354円202円254円352円260円201円355円230円225円.js" @@ -8,4 +8,19 @@ function solution(sizes) { const maxHeight = Math.max(...sizes.map(card => card[1])) answer = maxWidth * maxHeight return answer; +} + +// 정답 2 - prove-ability +function solution(sizes) { + + // 가로, 세로 중 큰 값을 가로 길이로 변경(스압) + sizes.forEach(([width, height], index) => { + if(sizes[index][0] < sizes[index][1]) [sizes[index][0], sizes[index][1]] = [sizes[index][1], sizes[index][0]] + }) + + // 가로, 세로 각각 큰 값 추출 + const widthMax = Math.max(...sizes.map(v => v[0])); + const widthHeight = Math.max(...sizes.map(v => v[1])); + + return widthMax * widthHeight; } \ No newline at end of file

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