Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
Tags
- 파이썬
- 컴퓨터공학
- AWS
- node.js
- Local Search
- multer-s3
- 문자열
- 코드
- computerscience
- typescript
- node배포
- CS
- Search Algorithm
- 배포
- Simulated Annealing
- 알고리즘
- 컴퓨터과학
- 문자열처리
- 철학
- lightsailor
- Hill Climbing
Archives
- Today
- Total
지식의모듈화
[Level2][Javascript] 소수 찾기 본문
function solution(numbers) {
var answer = 0;
let obj={};
let arr= numbers.split("").map(e=>Number(e));
// console.log(arr);
for (let i =1; i<=arr.length;i++){
let permu_arr=permutation(arr,i);
// console.log(permu_arr);
for (let value of permu_arr){
// console.log(value);
let a= Number(value.join(''));
if(isPrime(a)>0){
// console.log(a)
obj[a]= (obj[a]||0)+1;
}
}
}
answer= Object.keys(obj).length;
return answer;
}
function isPrime(n){
if (n<=1) return -1;
for (let i=2; i<n;i++){
if(n%i===0) return -1;
}
return n;
}
function permutation(arr, num){
const res = [];
if(num === 1) return arr.map((v) => [v]);
arr.forEach((v, idx, arr) => {
const rest = [...arr.slice(0,idx), ...arr.slice(idx+1)];
const permutations = permutation(rest, num-1);
const attach = permutations.map((permutation) => [v, ...permutation]);
res.push(...attach);
})
return res;
}
순열 코드는 암기하는게 좋겠다.
'PS > 프로그래머스' 카테고리의 다른 글
| [Level1][Javascript] 체육복 (0) | 2022.06.24 |
|---|---|
| [Level2][Javascript] 카펫 (0) | 2022.06.24 |
| [Level2][Javascript] 가장 큰 수 (0) | 2022.06.23 |
| [Level1][Javascript] K번째 수 (0) | 2022.06.23 |
| [Level 3][Javascript]베스트앨범 (0) | 2022.06.23 |