diff --git "a/\354\243\274\354\244\2218/oheun/Week20/\352\263\274\354\235\274\354\236\245\354\210\230.js" "b/\354\243\274\354\244\2218/oheun/Week20/\352\263\274\354\235\274\354\236\245\354\210\230.js" new file mode 100644 index 00000000..822eed91 --- /dev/null +++ "b/\354\243\274\354\244\2218/oheun/Week20/\352\263\274\354\235\274\354\236\245\354\210\230.js" @@ -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) +*/ diff --git "a/\354\243\274\354\244\2218/oheun/Week20/\354\206\214\354\210\230\353\247\214\353\223\244\352\270\260.js" "b/\354\243\274\354\244\2218/oheun/Week20/\354\206\214\354\210\230\353\247\214\353\223\244\352\270\260.js" new file mode 100644 index 00000000..7d454474 --- /dev/null +++ "b/\354\243\274\354\244\2218/oheun/Week20/\354\206\214\354\210\230\353\247\214\353\223\244\352\270\260.js" @@ -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; +} diff --git "a/\354\243\274\354\244\2218/oheun/Week20/\355\224\274\353\263\264\353\202\230\354\271\230 \354\210\230.js" "b/\354\243\274\354\244\2218/oheun/Week20/\355\224\274\353\263\264\353\202\230\354\271\230 \354\210\230.js" new file mode 100644 index 00000000..6310b64f --- /dev/null +++ "b/\354\243\274\354\244\2218/oheun/Week20/\355\224\274\353\263\264\353\202\230\354\271\230 \354\210\230.js" @@ -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]; +}