프로그래머스 LEVEL 1(기사단원의 무기)

image

  • 사용 언어 : javascript

  • 해결 날짜 : 2022-11-18

  • 해결 방법 :
    • number를 돌며 각 기사의 약수의 개수가 limit보다 큰 경우 answer에 power 추가
    • 그 외의 경우 answer에 약수의 개수 추가
  • 회고 :
    • x
  • 코드

    const getDivisorsLength = (num) => {
        const divisors = [];
        for (let i = 1 ; i <= Math.sqrt(num) ; i++){
            if (num % i === 0) {
                divisors.push(i);
                if (num / i !== i) divisors.push(num / i);
            }
        }
            
        return divisors.length;
    }
    
    function solution(number, limit, power) {
        let answer = 0;
        for (let i = 1; i <= number; i++) {
            const divisorsLength = getDivisorsLength(i);
            answer += divisorsLength > limit ? power : divisorsLength;
        }
        return answer;
    }
    
  • 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges