자바스크립트 알고리즘 문제 (1주차)- 1. Multiples of 3 and 5

22/04에 시작된 패스트캠퍼스 메가바이트 스쿨을 수강하면서 짜여진 조별스터디가 있다.
일단 1주차에는 난이도 상관없는 알고리즘 문제 3문제를 풀어 블로그에 업로드를 하기로 하였다.
그래서 선택한 첫번째 문제는 바로 Multiples of 3 and 5이다.
문제의 출처는 이곳이다.
난이도 순으로 정렬했을 때 맨 처음에 나오는 문제이기도 했거니와 프로그래밍을 배웠던 기억이 거의 증발한 나에게 다른 선택지는 없었다.

문제이다.

If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.
Find the sum of all the multiples of 3 or 5 below 1000.

10미만의 자연수에서 3과 5의 배수를 구하면 3,5,6,9이다. 이들의 총합은 23이다.
1000미만의 자연수에서 3,5의 배수의 총합을 구하라.

내가 풀었던 풀이를 설명해 보겠다.

  <script>
    var count = [];
     var sum = 0;
    for (i=1; i<1000; i++){
      if (i%3==0 || i%5==0){
        count.push(i);
        sum += i;
      }
    }
    document.write(sum);
  </script>
  1. 일단 count 라는 배열을 만들었다. 그곳은 sum이라는 숫자의 총합을 넣어 저장하기 위한 공간이다.
  2. 그리고 sum이라는 변수를 선언하여 숫자로 할당하였다.
  3. for문을 이용하여 1,000미만의 자연수 범위 안에서 합을 계속 저장했다. (그리고 자연수이기 때문에 i의 범위를 1부터 시작한 것이다. 물론 안 적어도 알겠지만서도...)
  4. for문 안의 i가 3의 배수인지 또는 5의 배수인지 판별하기 위하여 %라는 연산자를 썼다. 3의 배수 또는 5의 배수이면 count 배열 안에 넣도록 if문을 설정하였다.
    그리고 합계를 저장하기 위한 변수인 sum에 계속적으로 저장했다.
  5. 화면에 출력하기 위함이다.

쓰고 나니 너무 기초적인 문제를 푼 게 아닌가 해서 약간 민망했다.
그래도 숙제는 숙제니까...
앞으로는 좀 더 어려운 문제를 풀 수 있도록 자바스크립트 연습을 열심히 해서 능숙해져야겠다는 생각을 하였다.

좋은 웹페이지 즐겨찾기