링크 : https://programmers.co.kr/learn/courses/30/lessons/12940
import java.util.*;
import java.util.stream.IntStream;
class Solution {
public int[] solution(int n, int m) {
int[] answer;
int small = Math.min(n, m);
int max = Math.max(n, m);
int gcd = getGCD(small, max);
int lcm = getLCM(small, max, gcd);
answer = new int[]{gcd, lcm};
return answer;
}
public Integer getGCD(Integer small, Integer max){
OptionalInt max1 = IntStream.range(1, small+1)
.filter(x -> small % x == 0)
.filter(x -> max % x == 0)
.max();
if(max1.isPresent()) return max1.getAsInt();
return 0;
}
public Integer getLCM(Integer small, Integer max, Integer gcd){
int sTime = small/gcd;
int mTime = max/gcd;
return sTime * mTime * gcd;
}
}
'교육 > 코테' 카테고리의 다른 글
[프로그래머스]JAVA 평균 구하기 (0) | 2022.06.29 |
---|---|
[프로그래머스]JAVA 콜라츠 추측 (0) | 2022.06.29 |
[프로그래머스]JAVA 짝수와 홀수 (0) | 2022.06.29 |
[프로그래머스]JAVA 제일 작은 수 제거하기 (0) | 2022.06.29 |
[프로그래머스]JAVA 정수 제곱근 판별 (0) | 2022.06.28 |