프로그래머스 Lv. 0 | Day 8 배열, 구현, 수학

doodoo·2023년 2월 23일
0

프로그래머스

목록 보기
8/10
post-thumbnail

👀 배열 자르기

문제

배열 자르기

풀이

✅ for

function solution(numbers, num1, num2) {
    const arr = [];
    for(let i = num1; i <= num2; i++) {
        arr.push(numbers[i]);
    }
    return arr;
}

✅ slice

function solution(numbers, num1, num2) {
    return numbers.slice(num1, num2 + 1);
}




👀 외계행성의 나이

문제

외계행성의 나이

풀이

function solution(age) {
    const programmerAge = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']; // const programmerAge = 'abcdefghij';
    return [...String(age)]
        .map(item => programmerAge[item])
        .join('');
}

programmerAge에 문자열을 할당해서 풀어도 됨

다른 사람의 풀이

function solution(age) {
    const programmerAge = 'abcdefghij';
    return String(age).replace(/./g, num => programmerAge[num]);
}
  • replace의 두번째 인수에 함수를 전달할 수 있다.
  • /./g → 모든 문자 검색




👀 진료 순서 정하기

문제

진료 순서 정하기

풀이

function solution(emergency) {
    const result = new Array(emergency.length).fill(0);
    
    const copy = [...emergency];
    
    copy.sort((a, b) => b - a);
    copy.forEach((num, idx) => {
        const index = emergency.indexOf(num);
        result[index] = idx + 1;
    });
    
    return result;
}




👀 순서쌍의 개수

문제

순서쌍의 개수

풀이

function solution(n) {
    const factor = [];
    for(let i = 1; i <= n; i++) {
        if(n % i === 0) {
            factor.push(i);
        }
    }
    return factor.length
}

약수의 개수 = 순서쌍의 개수

0개의 댓글