function solution(n) {
var answer = [];
for (let i = 1 ; i <= n ; i++) {
if (n % i === 0) {
answer.push(i)
}
}
return answer;
}
-나의 풀이
: 풀이랄것도 없었다.. n에 i를 나누고 나머지값이 0이면 약수이기에 그값을 answer에 push했다.
function solution(order) {
var answer = 0;
let newOrder = order.toString().split("");
for (let i = 0 ; i < newOrder.length ; i++) {
// 현재 숫자를 정수로 변환
const currentNumber = parseInt(newOrder[i]);
// 숫자가 3, 6, 9 중 하나인 경우
if (currentNumber === 3 || currentNumber === 6 || currentNumber === 9) {
// 해당 숫자의 개수만큼 박수를 추가
answer++
}
}
return answer;
}
function solution(order) {
return [...String(order)].filter((v) => ["3", "6", "9"].includes(v)).length;
}
function solution(order) {
return ("" + order).split(/[369]/).length - 1;
}
function solution(order) {
return [...order.toString().matchAll(/[3|6|9]/g)].length;
}
주어진 매개변수 order는 숫자 타입이므로, String type으로 변경해야 배열 형태로 나눌 수 있다. 따라서 […String(order)]하여 문자열 타입의 배열 형태로 복사 후 filter()함수를 통해 [‘3’, ‘6’, ‘9’]가 있는지 includes()를 사용하여 포함된 것의 length를 반환
-> 캬....천재다..
문자열 형태의 배열로 복사한 order를 split(/[369]/)로 분할하여 그것들의 length - 1을 반환하였다. split()에 정규표현식을 사용하였다는 점이 기발하다
-> -1을 한 이유는 인덱스값때문에 그런가..? 생각지도 못하게들 푼다..
matchAll(/[3|6|9]/g).length를 사용하여 order에서 매칭되는 모든 것들의 개수를 반환
-> 정규식 표현과 친해져야하는 이유같다..
function solution(order) {
var answer = 0;
String(order).split("").map((n)=> {
if(['3','6','9'].includes(n)){
answer++
}
})
return answer;
}