๋ฐ์ํ
https://school.programmers.co.kr/learn/courses/30/lessons/42839
ํ์๋ฆฌ ์ซ์๊ฐ ์ ํ ์ข
์ด ์กฐ๊ฐ์ด ํฉ์ด์ ธ์์ต๋๋ค. ํฉ์ด์ง ์ข
์ด ์กฐ๊ฐ์ ๋ถ์ฌ ์์๋ฅผ ๋ช ๊ฐ ๋ง๋ค ์ ์๋์ง ์์๋ด๋ ค ํฉ๋๋ค.
๊ฐ ์ข
์ด ์กฐ๊ฐ์ ์ ํ ์ซ์๊ฐ ์ ํ ๋ฌธ์์ด numbers๊ฐ ์ฃผ์ด์ก์ ๋, ์ข
์ด ์กฐ๊ฐ์ผ๋ก ๋ง๋ค ์ ์๋ ์์๊ฐ ๋ช ๊ฐ์ธ์ง return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
function solution(numbers) {
const INF = 10000000;
// ์
๋ ฅ๊ฐ์ ๋ค์ด์๋ ์์ ์ข
๋ฅ์ ๊ฐฏ์
const numberArr = [0,0,0,0,0,0,0,0,0,0];
for(let i of numbers) {
numberArr[parseInt(i)]++;
}
// prime[i] = i๊ฐ ์์์ธ์ง ์ฌ๋ถ
let prime = [];
for(let i=0; i<INF; i++) {
prime.push(true);
}
prime[0] = prime[1] = false;
for(let i=2; i<INF; i++) {
if(!prime[i]) {
continue;
}
for(let j=i*i; j<INF; j+=i) {
prime[j] = false;
}
}
// primeNum ๋ฐฐ์ด ๋๋ฉด์ ํด๋น ์์๊ฐ ๋ง๋ค์ด์ง ์ ์๋์ง ์นด์ดํธ
function makable(target, numbers) {
for(let i of target) {
const n = parseInt(i);
numbers[n]--;
if(numbers[n]<0) {
return false;
}
}
return true;
}
let ans = 0;
for(let i in prime) {
if(!prime[i] || i.length > numbers.length) {
continue;
}
if(makable(i, [...numberArr])) {
ans++;
}
}
return ans;
}
์๋ฐ์คํฌ๋ฆฝํธ ํน์ฑ๋๋ฌธ์ธ์ง๋ ๋ชฐ๋ผ๋ ์๋นํ ๋๋ฆฌ๋ค..
c++๋ก ์๋ํด๋ณด๊ฑฐ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ์ฐพ์๋ด์ผํ ๋ฏ
๋ฐ์ํ
'๐ ๋ญ? JS๋ก PS๋ฅผ ํ๋ค๊ณ ?' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค][JS / Javascript] ๋ ๋ฐ๋จน๊ธฐ (0) | 2023.07.06 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค][JS / Javascript] ํ๋ ฌ์ ๊ณฑ์ (0) | 2023.06.20 |
[ํ๋ก๊ทธ๋๋จธ์ค][JS / Javascript] ํ๋ฐฐ ๋ฐฐ๋ฌ๊ณผ ์๊ฑฐํ๊ธฐ (0) | 2023.06.06 |
[ํ๋ก๊ทธ๋๋จธ์ค][JS / Javascript] ์ฃผ์ฐจ ์๊ธ ๊ณ์ฐ (0) | 2023.06.05 |
[ํ๋ก๊ทธ๋๋จธ์ค][JS / Javascript] [3์ฐจ] n์ง์ ๊ฒ์ (0) | 2023.05.31 |