diff --git "a/level-2/k\354\247\204\354\210\230\354\227\220\354\204\234-\354\206\214\354\210\230-\352\260\234\354\210\230-\352\265\254\355\225\230\352\270\260&92335&.js" "b/level-2/k\354\247\204\354\210\230\354\227\220\354\204\234-\354\206\214\354\210\230-\352\260\234\354\210\230-\352\265\254\355\225\230\352\270\260&92335&.js" index 5425443..1da7cad 100644 --- "a/level-2/k\354\247\204\354\210\230\354\227\220\354\204\234-\354\206\214\354\210\230-\352\260\234\354\210\230-\352\265\254\355\225\230\352\270\260&92335&.js" +++ "b/level-2/k\354\247\204\354\210\230\354\227\220\354\204\234-\354\206\214\354\210\230-\352\260\234\354\210\230-\352\265\254\355\225\230\352\270\260&92335&.js" @@ -20,4 +20,35 @@ function solution(n, k) { // .split('0') // 0을 기준으로 나눕니다. // .filter((number) => isPrime(+number)).length // 소수가 아닌 요소를 걸러낸 후에 개수를 셉니다. return (n).toString(k).split('0').filter((number) => isPrime(+number)).length; -} \ No newline at end of file +} + + +// 정답 2 - ryna-dia + +function solution(n, k) { + const numbers = n; + const antilogarithm = k; + const NumbersChangedAntilogarithm = numbers.toString(antilogarithm); + const result = selectPrimeNotIncludeZero(NumbersChangedAntilogarithm); + + return result.length; +} + +function selectPrimeNotIncludeZero(numbers, numbersWithoutZero = '') { + return [...numbers].reduce((acc, cur, index, arr) => { + if (cur !== '0') numbersWithoutZero += cur; + if (cur === '0' || index === arr.length - 1) { + if (isPrime(Number(numbersWithoutZero))) acc.push(numbersWithoutZero); + numbersWithoutZero = ''; + } + return acc; + }, []); +} + +function isPrime(num) { + if (!num || num === 1) return false; + for (let i = 2; i <= Math.sqrt(num); i++) { + if (!(num % i)) return false; + } + return true; +} diff --git "a/level-2/\355\224\204\353\246\260\355\204\260&42587&.js" "b/level-2/\355\224\204\353\246\260\355\204\260&42587&.js" index d29b243..ce31953 100644 --- "a/level-2/\355\224\204\353\246\260\355\204\260&42587&.js" +++ "b/level-2/\355\224\204\353\246\260\355\204\260&42587&.js" @@ -134,3 +134,24 @@ class Queue { return this.rear - this.front } } + +// 정답 6 ryan-dia + +function solution(priorities, location, result = 0) { + const queue = priorities.map((p, i) => ({ priority: p, index: i })); + + while (queue.length > 0) { + const current = queue.shift(); + const higherPriority = queue.some((d) => d.priority > current.priority); + + if (higherPriority) { + queue.push(current); + continue; + } + result += 1; + if (current.index === location) { + return result; + } + } +} +