다희의 코딩 성장일기
[프로그래머스] level1. 최대공약수와 최소공배수 (자바 JAVA) 본문
[ 문제 ] [프로그래머스] level1. 최대공약수와 최소공배수 (자바 JAVA)
문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/12940
# 접근 방법 및 풀이
- GCD = 최대공약수 , LCM = 최소공배수
- 두수 n, m 중에 최소공배수는 n*m / GCD이다.
- 따라서 최대공약수를 구하면 최소공배수를 위 공식으로 쉽게 구할 수 있다.
- 최대 공약수는 두 수중에 작은 수까지 for문을 돌려 구할 수 있다.
- for(int i = 1; i <= min; i++)로 해서, 두 수 다 i로 나누어 떨어진다면 i는 두 수의 약수이므로 최대공약수를 뽑을 수 있다.
- 자세한건 코드참조.
# 주의할 점
- 딱히 없음
JAVA 코드
class Solution {
public int[] solution(int n, int m) {
int[] answer = new int[2];
int small = (n <= m)? n:m;
for(int i = 1 ; i <= small; i++){
if(n%i == 0 && m%i==0)
answer[0] = i;
}
answer[1] = n*m / answer[0];
return answer;
}
}
REVIEW
'Algorithm > 프로그래머스' 카테고리의 다른 글
[프로그래머스] level1. 서울에서 김서방 찾기 (자바 JAVA) (0) | 2021.08.20 |
---|---|
[프로그래머스] level1. 약수의 합 (자바 JAVA) (0) | 2021.08.20 |
[프로그래머스] level1. 수박수박수박수박수박수? (자바 JAVA) (0) | 2021.08.20 |
[프로그래머스] level1. 자연수 뒤집어 배열로 만들기 (자바 JAVA) (0) | 2021.08.20 |
[프로그래머스] level1. 문자열을 정수로 바꾸기 (자바 JAVA) (0) | 2021.08.20 |
Comments