Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 51 additions & 0 deletions 주중8/oheun/Week20/과일장수.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
/**
* 통과 여부 : 통과
* 시간 : 30분
* 점수 : +2
*
* @param {*} k 최상품의 사과 / 1점은 최하위
* @param {*} m 사과 한 상자에 들어있는 사과 개수
* @param {*} score 사과 한 상자의 가격은 상자 중 가장 낮은 점수 * m
* @returns 과일장수가 얻을 수 있는 최대 이익
* 이익이 발생하지 않는 경우에는 0
*/
function solution(k, m, score) {
let copied = score.sort((a, b) => b - a);
let length = score.length;
let result = 0;

for (let i = m - 1; i < length; i += m) {
result += copied[i] * m;
}

return result;
}

console.log(solution(4, 3, [4, 1, 2, 2, 4, 4, 4, 4, 1, 2, 4, 2]));

/*
테스트 1 〉 통과 (0.18ms, 33.5MB)
테스트 2 〉 통과 (0.06ms, 33.5MB)
테스트 3 〉 통과 (0.14ms, 33.6MB)
테스트 4 〉 통과 (0.06ms, 33.4MB)
테스트 5 〉 통과 (0.06ms, 33.5MB)
테스트 6 〉 통과 (15.32ms, 39.4MB)
테스트 7 〉 통과 (17.18ms, 37.8MB)
테스트 8 〉 통과 (3.78ms, 35.8MB)
테스트 9 〉 통과 (15.36ms, 37.9MB)
테스트 10 〉 통과 (12.84ms, 38.9MB)
테스트 11 〉 통과 (196.15ms, 83.3MB)
테스트 12 〉 통과 (212.78ms, 83.8MB)
테스트 13 〉 통과 (215.72ms, 83.3MB)
테스트 14 〉 통과 (189.56ms, 82.4MB)
테스트 15 〉 통과 (202.03ms, 82.3MB)
테스트 16 〉 통과 (0.06ms, 33.5MB)
테스트 17 〉 통과 (0.06ms, 33.4MB)
테스트 18 〉 통과 (0.14ms, 33.4MB)
테스트 19 〉 통과 (0.15ms, 33.4MB)
테스트 20 〉 통과 (0.13ms, 33.4MB)
테스트 21 〉 통과 (0.05ms, 33.5MB)
테스트 22 〉 통과 (0.05ms, 33.5MB)
테스트 23 〉 통과 (0.07ms, 33.6MB)
테스트 24 〉 통과 (0.05ms, 33.5MB)
*/
56 changes: 56 additions & 0 deletions 주중8/oheun/Week20/소수만들기.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
/**
* 통과 여부
* 시간 : 15분
* 점수 : +3
* 테스트 1 〉 통과 (2.06ms, 35.7MB)
테스트 2 〉 통과 (1.61ms, 35.6MB)
테스트 3 〉 통과 (0.36ms, 33.4MB)
테스트 4 〉 통과 (0.30ms, 33.4MB)
테스트 5 〉 통과 (1.64ms, 35.7MB)
테스트 6 〉 통과 (2.78ms, 35.8MB)
테스트 7 〉 통과 (0.23ms, 33.6MB)
테스트 8 〉 통과 (4.18ms, 35.8MB)
테스트 9 〉 통과 (0.92ms, 35.6MB)
테스트 10 〉 통과 (4.23ms, 35.8MB)
테스트 11 〉 통과 (0.18ms, 33.5MB)
테스트 12 〉 통과 (0.16ms, 33.4MB)
테스트 13 〉 통과 (0.19ms, 33.5MB)
테스트 14 〉 통과 (0.30ms, 33.4MB)
테스트 15 〉 통과 (0.20ms, 33.5MB)
테스트 16 〉 통과 (4.73ms, 36MB)
테스트 17 〉 통과 (3.36ms, 35.6MB)
테스트 18 〉 통과 (0.22ms, 33.4MB)
테스트 19 〉 통과 (0.12ms, 33.5MB)
테스트 20 〉 통과 (5.11ms, 35.9MB)
테스트 21 〉 통과 (5.63ms, 35.7MB)
테스트 22 〉 통과 (0.58ms, 33.5MB)
테스트 23 〉 통과 (0.06ms, 33.4MB)
테스트 24 〉 통과 (4.43ms, 35.8MB)
테스트 25 〉 통과 (4.41ms, 35.8MB)
테스트 26 〉 통과 (0.11ms, 33.4MB)
* @param {*} nums
* @returns
*/

function solution(nums) {
let answer = 0;
let length = nums.length;

for (let i = 0; i < length - 2; i++) {
let number = 0;
for (let j = i + 1; j < length - 1; j++) {
for (let k = j + 1; k < length; k++) {
number = nums[i] + nums[j] + nums[k];
if (divider(number)) answer++;
}
}
}
return answer;
}

function divider(number) {
for (let i = 2; i <= Math.floor(Math.sqrt(number)); i++) {
if (number % i === 0) return false;
}
return true;
}
18 changes: 18 additions & 0 deletions 주중8/oheun/Week20/피보나치 수.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
/**
* 통과 여부 : 통과
* 시간 : 10분
* 점수 : +11
* @param {*} n 수
* @returns 피보나치 수에서 1234567 나눈 나머지
*/
function solution(n) {
let zero = 0;
let one = 1;
let result = [zero, one];
for (let i = 2; i <= n; i++) {
result[i] =
// 힌트 참고
((result[i - 1] % 1234567) + (result[i - 2] % 1234567)) % 1234567;
}
return result[result.length - 1];
}