Frontend Developer

프로그래머스 - 순서쌍의 개수

문제

정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소 중 두 개를 곱해 만들 수 있는 최댓값을 return하도록 solution 함수를 완성해주세요.

정답

function solution(n) {
    var answer = [];
    for(let i = 1; i <= n; i++) {
        if(n % i === 0){
            const j = n / i;
            answer.push([i, j])
        }
    }
    return answer.length;
}
  1. function solution(n) {: 함수 solution을 정의하고, 매개변수로 정수 n을 받습니다.
  2. var answer = [];: 약수의 쌍을 저장할 빈 배열 answer를 선언합니다.
  3. for(let i = 1; i <= n; i++) {: 1부터 n까지의 숫자에 대해 반복하는 for 루프를 시작합니다.
  4. if(n % i === 0) {: 현재의 i가 n의 약수라면 (n을 i로 나누었을 때 나머지가 0이면), 아래의 코드를 실행합니다.
  5. const j = n / i;: 약수의 쌍을 이루는 다른 수 j를 계산합니다. j는 n을 i로 나눈 값입니다.
  6. answer.push([i, j]): 현재의 i와 j를 원소로 갖는 배열을 answer 배열에 추가합니다.
  7. urn answer.length;: answer 배열의 길이를 반환합니다. 이는 n의 약수 쌍의 개수를 나타냅니다.