본문 바로가기

Programming Language/JavaScript(자바 스크립트)

자바스크립트(JS) 약수 모두 출력하기/ 개수(갯수) 구해보기

반응형

 자바스크립트 약수 구하기는 코딩 테스트에서 조금씩 나오는 문제이면서, 꼭 코딩 테스트 문제 뿐만 아니라 여러가지 다른 요소에서 많이 쓰이는 자바스크립트 나머지 기호를 활용한 대표적인 문제입니다. 보통 나머지를 구하는 식을 배우고 난 뒤 이 약수 구하기는 빼먹지 않고 연습 문제로 나오는 편인데요! 비단, 자바스크립트 뿐만 아니라 다른 언어를 공부하실 때도 나오는 문제이니 기본적으로 확인하고 가시면 좋겠습니다.

 

 혹시나 약수에 대해 조금 까먹으셨거나, 기억이 잘 안나시는 분들을 위해 스크린샷 한 컷 준비했습니다. 어떠한 수로 나누었을 때 나누어떨어지는 경우(나머지가 없는 경우) 그 수가 나눈 수의 약수라고 합니다. 그래서 위에 나눗셈 식에서도 8을 1,2,4,8 로 나누었을 때 각각 나누어 떨어지는 것을 확인할 수 있습니다. 즉, 1,2,4,8이 8의 약수라고 할 수 있습니다.

 

 그렇다면 우리는 중요한 조건을 찾을 수 있는데요 ! 약수를 찾는 코딩을 하기 위해서는 나머지가 0이 되어야한다는 점입니다. 이 조건을 if 문 안에 적고 나머지가 0이면 출력하거나 숫자를 세어주고, 조건에 만족하지 않는다면 그대로 지나가게 하는 방식으로 한번 작성해보겠습니다.

 

 

! 코딩 하기 전에 코드 안에 들어가야하는 약수 기본 조건 !

  1.  나누었을 때 나머지 값이 == 0 이 되는 것을 조건문 안에 넣어야한다.

  2. 조건을 만족 못했을 때 그냥 출력 x 

  3. 약수는 최대 자기 자신 밖에 안 되므로, 반복문에서 자기 자신 값 이하로 조건을 잡는다.

 

 

 

 

1. 약수 구하기 기초적인 틀 ( 8을 기준으로)

 

위에서 작성했던 것을 토대로 코드를 작성하고, 추가적으로 약수의 조건에서 부족한 부분이 있었다면 채워넣으시면 됩니다. 

작성 코드 공유

// ? 1. 약수 구하기 기초적인 틀

let number = 8;  // ! 약수 찾기 원하는 수 지정
let index = 1;

while (index <= number) {
  if (number % index == 0) {
    console.log(index)
  }
  index += 1
}

실행 코드
결과 값

 

 우리가 지정한 필수적인 조건 들로 약수를 구하는 방법을 출력해봤습니다.

다른 요소들은 제쳐두고, 우선 이 기초적인 시작 부분을 중심으로 코딩을 한번 해보셨으면 좋겠습니다. 다른 부분의 시작점이 이 틀이기 때문에 문법적인 것 빼고 이 부분을 코드화하실 수 있다면 완벽하게 이해한거라고 볼 수 있습니다. 그리고 이렇게 기본적인 틀이 끝났다면 이제 다른 요소들을 추가해볼 수 있습니다. 약수의 갯수를 확인해볼 수도 있고 입력 값을 우리가 직접 입력할 수도 있습니다. 

 

 

2. 약수의 갯수 구하기 ( 8을 기준으로)

 

위의 조건에서 약수의 갯수를 세어주고 또 그 값을 추가해서 반복문 조건을 추가해주어야 합니다. 그러기 위해서는, 이제 빈 공간을 하나 만들어 주어야하는데요, 약수를 하나씩 저장해주는 것이 아니라 변수 하나를 지정해주고 약수가 나왔을 때 하나씩 올려가는 방법으로 진행하고자 했습니다.

작성 코드 공유


// ? 2. 약수 기초적인 틀에 약수 개수 추가하기

let number = 8;  // ! 약수 찾기 원하는 수 지정
let index = 1;
let count = 0;  // ! 개수를 세어주는 카운트 변수 추가 지정

while (index <= number) {
  if (number % index == 0) {
    console.log(index);
    count += 1; // ! 만약 조건을 만족한다면 카운트 갯수 추가
  }
  index += 1;
}

console.log(number +'의 약수 : ' + count + '개.')

실행 코드
출력 값

 여기서는 count를 통해 하나씩 추가해줬고 마지막에서는 console.log를 이용하여 출력 값을 우리가 정한 파라미터를 넣어주어 출력했습니다. 그냥 띡 하고 약수의 총 갯수를 출력해주는 것보다 console.log문에 그 값을 문장으로 출력하는 것이 더 보기 편할 것 같아서 이렇게 출력해봤습니다.

 

 

저의 아주 작은 티끌 코딩 글이 블로그 방문자 님의 코딩에 조금이라도,

도움이 됐으면 좋겠습니다.  감사합니다 : )

 

 

반응형