10미만의 자연수에서 3과 5의 배수를 구하면 3,5,6,9이다. 이들의 총합은 23이다.
1000미만의 자연수에서 3,5의 배수의 총합을 구하라.
내가 풀이한 소스 코드는..
public class Multiples {
public static void main(String args[]) {
int sum=0;
for (int i=0; i<1000; i++){
if(i%3==0 || i%5==0) {
sum += i;
}
}
System.out.println(sum);
}
}
정답은 233168 이다.
다른 java 풀이를 보면..
public static int Print(int Max)
{
int sums = 0;
for (int i = 1; i < Max; i++)
{
if (i % 3 == 0 || i % 5 == 0)
{
sums += i;
}
}
return sums;
}
메서드를 만들어서 return 시킨 모습니다.
콘솔에 찍기 위해 System.out.plintln()을 사용한 나와 다른 풀이였다.
java 8버전 부터 지원하는 기능을 이용한 풀이다.
import java.util.stream.IntStream;
public static void main(String[] args) {
System.out.println(String.format("정답: %d", foo(1000)));
}
private static int foo(int end) {
return IntStream.range(1, end).filter(j -> j%3==0 || j%5==0).sum();
}
파이썬 풀이를 보면 굉장히 간결한 것에 비해 자바 풀이는 다소 긴 편이었다.
그래도 이런 java8 풀이를 보면 이게 정말 자바가 맞나 싶을 정도로 신기하다.
특히 람다식을 이용한 부분이 인상 깊었다.
java8의 특징을 잘 설명한 블로그를 찾았다.
Java8 정리 : 개요
Java9이 정식 릴리즈된 시점에서 이제야 Java8를 공부한다는 것이 늦은 감이 있지만 더 늦기 전에 Java8에 대해 공부하고 하나씩 정리해보려고 합니다. 해당 포스팅은 자바 8 인 액션:전문가를 위한 최신 자바 기법 가이드을 참고하여 진행할 예정입니다. 1. 자바가 변화하는 이유 Java8에서는 기존 버전들과 비교해서 가장 큰 변화가 있었습니다.…
friday.fun25.co.kr
코딩도장
프로그래밍 문제풀이를 통해서 코딩 실력을 수련
codingdojang.com
'날이 좋지 않아서 > 코딩 테스트' 카테고리의 다른 글
[구글] 1부터 10,000까지 8이라는 숫자가 총 몇번 나오는가? (0) | 2019.07.21 |
---|---|
[넥슨] 1 이상이고 5000 보다 작은 모든 셀프 넘버들의 합을 구하라. (0) | 2019.07.17 |