[プログラマー]k進数から小数-javascriptを取得
📖 質問リンク
https://programmers.co.kr/learn/courses/30/lessons/92335
問題の説明
1つの数字を与えて、与えられたk進数で置き換えた後、変換された数字の中で条件に合致する小数がどれだけあるかを見つければよい.両端が0の場合は である.
0がの右側にある場合、 左側に0がある場合、は である.
📃 条件 1 ≤ n ≤ 1,000,000 3 ≤ k ≤ 10 👨💻 問題を解く
問題を解く
次に、1と0が連続したときに現れる空の文字列以外の部分について小数であるか否かを判断し、結果値を返します.
🧐 他者のコード
https://programmers.co.kr/learn/courses/30/lessons/92335
問題の説明
1つの数字を与えて、与えられたk進数で置き換えた後、変換された数字の中で条件に合致する小数がどれだけあるかを見つければよい.
0が
📃 条件
問題を解く
function primeNumber(number) {
for(let i = 2; i*i <= number; i++){
if(number % i == 0) return false;
}
return true;
}
function solution(n, k) {
let result = 0;
let changeNumber = n.toString(k);
const numbers = changeNumber.split("0");
for (let number of numbers) {
if (number === '') continue;
if (+number === 1) continue;
if (primeNumber(+number)) result += 1;
}
return result;
}
まずtoStringをk進法に置き換え、splitを0で割った.次に、1と0が連続したときに現れる空の文字列以外の部分について小数であるか否かを判断し、結果値を返します.
🧐 他者のコード
function isPrime(n){
if(typeof n !== 'number' || n < 2) return false
for(let i=2; i<=Math.sqrt(n); i++){
if(n%i === 0) return false
}
return true
}
function solution(n, k) {
let nums = n.toString(k).split('0');
return nums.filter(v=>isPrime(+v)).length
}
filterは積極的に使うべきだと思います.2022.01.30
Reference
この問題について([プログラマー]k進数から小数-javascriptを取得), 我々は、より多くの情報をここで見つけました https://velog.io/@kimjiwonpg98/프로그래머스-k진수에서-소수-개수-구하기-nodejsテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol