반응형
최대공약수와 최소공배수
문제 설명
두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12)는 [3, 12]를 반환해야 합니다.
예시
n | m | return |
3 | 12 | [3, 12] |
2 | 5 | [1, 10] |
코드 해석 및 전체 코드
알고리즘
1. m이 n보다 클 경우 값 변경
2. 최대 공약수 구하기
3. 최대 공약수를 활용하여 최소공배수 구하기
class Solution {
public int[] solution(int n, int m) {
int[] answer = new int[2];
if(m > n) {
int temp = m;
m = n;
n = temp;
}
// 최대공약수
for(int i = 1; i < n; i++){
if(n % i == 0 && m % i == 0) answer[0] = i;
}
// 최소공배수
answer[1] = m * n / answer[0];
return answer;
}
}
반응형
'코딩 테스트 > [JAVA] programmers 코딩 테스트 연습' 카테고리의 다른 글
[Programmers/JAVA] 모의고사 / 프로그래머스 코딩 테스트 연습 (0) | 2021.07.12 |
---|---|
[Programmers/JAVA] 완주하지 못한 선수 / 프로그래머스 코딩 테스트 연습 (0) | 2021.07.12 |
[Programmers/JAVA] K번째 수 / 프로그래머스 코딩 테스트 연습 (0) | 2021.06.16 |
[Programmers/JAVA] 제일 작은 수 제거하기 / 프로그래머스 코딩 테스트 연습 (0) | 2021.06.15 |
[Programmers/JAVA/JS] 서울에서 김서방 찾기 / 프로그래머스 코딩 테스트 연습 (0) | 2021.06.15 |
댓글