프로그래머스 풀이/level0

[Programmers] level 0) 문제 '순서쌍의 개수' 풀이

진기명기 2023. 2. 27. 00:58
🫠 Programmers (level 0) 
👉🏻 문제 20번 (순서쌍의 개수) : 약수 구하기

 

 


function solution(n){

  // 배열을 만들자
  let arr = new Array(n).fill(1)

  // 배열을 1~n으로 채우자
  let arr1 = arr.map((item,index) => item + index)

  // 1. 2중 for문으로 배열에 push 시간초과로 인해 (-)
  let res1 = [] 
  
  for(let i = 0; i < n; i++){
    for(let j = 0; j < n; j++){
      if(arr1[i] * arr1[j] === n){
        // 새로운 배열에 넣어주자 
       res1.push([arr1[i], arr1[j]])
      } 
    }
  }
  return res1.length


  // 2. filter이용
  return (arr1.filter((item) => n % item === 0)).length


  // 3. for문 + if문으로 count
  let result = 0
  for(let i = 1; i <= n; i++) {
    if(n % i === 0) result++;
  }
  return result;
}

 

✅ 확인할 점

💡 총 3가지의 방법으로 문제를 풀어보았는데, 1번) 2중 for문으로 풀 경우, 답은 맞았지만 시간초과로 인해 실패로 뜬다.