Problem 1

1000보다 작은 자연수 중에서 3 또는 5의 배수를 모두 더하면?

문제

10보다 작은 자연수 중에서 3 또는 5의 배수는 3, 5, 6, 9 이고, 이것을 모두 더하면 23입니다.
1000보다 작은 자연수 중에서 3 또는 5의 배수를 모두 더하면 얼마일까요?

풀이 (본인)

1
2
3
4
5
6
7
let sum = 0;
for(let num = 1; num <= 1000; num++){
if(num % 3 === 0 || num % 5 === 0){
sum += num;
}
}
console.log(sum) //234168
1
2
3
4
5
6
7
8
9
10
11
public class ThreeAndFive {
public static void main(String[] args) {
int sum = 0;
for (int i = 1; i < 1000; i++){
if(i % 3 == 0 || i % 5 == 0){
sum = sum + i;
}
}
System.out.println(sum);
}
}

풀이 (다른 사람)

1
2
3
function checkNumber(n) { return n % 3 === 0 || n % 5 === 0; }
function add(a,b) { return a + b; }
_.range(1,1000).filter(checkNumber).reduce(add, 0);

배운점

  • 다른 사람들의 코드를 보면 if를 두개 쓴 사람도 있는데 ||를 통해 한줄로 줄이는게 좋을 것 같다.
  • 대부분의 사람들이 나와 같은 코드를 작성하였는데 특이한 코드를 작성 한 사람이 있어 추가하였다.(하지만 어떻게 동작하는지 이해가 어렵다.)
공유하기