728x90
반응형
1. 외계행성의 나이
: 우주여행을 하던 머쓱이는 엔진고장으로 모 행성에 불시착했다. 입국심사에서 나이를 말해야 하는데, 이 행성에서는 0~9는 a~j로 대체한다. 매개변수로 나이가 주어질 때, 이 행성식 나이 return
- 내가 짠 코드
// 전
function solution(age) {
let str = 'abcdefghij';
let num = String(age).split('');
let answer = []
for(let i=0; i<num.length; i++){
answer.push(str[num[i]]);
}
return answer.join("");
}
// 후
function solution(age) {
let str = 'abcdefghij';
let num = String(age).split('');
let answer = ''
num.forEach(el => {
answer += str[Number(el)]
} )
return answer
}
- solution
function solution(age) {
return age
.toString()
.split("")
.map((v) => "abcdefghij"[v])
.join("");
}
2. 약수 구하기
: 정수 n이 매개변수로 주어질 때, n의 약수를 오름차순으로 담은 배열 return
- 내가 짠 코드
function solution(n) {
var answer = [];
let i=1;
while(i <= n) {
n%i === 0 ? answer.push(i) : "";
i++;
}
return answer;
}
- solution
function solution(n) {
return Array(n).fill(0).map((v, index) => v+index+1).filter((v) => n%v===0);
}
3. 369게임
: 머쓱이는 친구들과 369게임을 하고 있다. 머쓱이가 말해야하는 숫자가 매개변수로 주어질 때, 머쓱이가 쳐야할 박수의 횟수 return
- 내가 짠 코드
// 전
function solution(order) {
let orderArr = String(order).split("");
let count = 0;
orderArr.map((el) => el === "3" | el === "6" | el === "9" ? count++ : 0);
return count
}
// 후
function solution(order) {
let orderArr = String(order).split("");
let count = 0;
orderArr.map(el => '369'.includes(el) ? count++ : 0);
return count
}
- solution
function solution(order) {
return Array.from(String(order)).filter(el => '369'.includes(el)).length
}
4. 숫자 찾기
: 정수 num과 k가 매개변수로 주어질 때, num을 이루는 숫자 중 k가 있으면 그 숫자의 자릿수 return, 없으면 -1 return
- 내가 짠 코드
function solution(num, k) {
return String(num).indexOf(k) > -1 ? String(num).indexOf(k) + 1 : -1 ;
}
- solution
function solution(num, k) {
return num.toString().split("").map((el) => Number(el)).indexOf(k) + 1 || -1
}
5. 합성수 찾기
: 약수의 갯수가 세 개 이상인 수를 합성수라고 한다. 자연수 n이 매개변수로 주어질 때, n이하의 합성수 갯수 return
- 내가 짠 코드
function solution(n) {
let answer = 0
for(let i=1; i<=n; i++){
let count = 0
for(let j=1; j<=i; j++){
if(i % j === 0) count++
}
if(count >= 3) answer++
}
return answer
}
- solution
function solution(n) {
// 배열을 1부터 n까지의 숫자로 채우기
let base = Array.from(Array(n), (v,i) => i+1)
for(let i = 2; i <= parseInt(Math.sqrt(n)); i++) {
base = base.filter(el => el%i != 0 || el <= i)
}
return n - base.length
}
728x90
반응형
'자료구조 및 알고리즘 > JavaScript Practice' 카테고리의 다른 글
JS Practice) 프로그래머스 : 숫자 빈도수 구하기 (0) | 2023.03.13 |
---|---|
JS Practice) 프로그래머스 : 중복된 문자 제거 (0) | 2023.03.13 |
JS Practice) 프로그래머스 : A로 B만들기 (0) | 2023.03.08 |
JS Practice) 프로그래머스로 공부하기 7 (0) | 2023.03.07 |
JS Practice) 프로그래머스로 공부하기 6 (0) | 2023.03.06 |