일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- SECS
- linux
- spotify
- 회원가입
- 회귀
- MYSQL
- Baekjoon
- 백준
- Spring JPA
- Spring
- Gem
- spring boot
- CS
- 프로그래머스
- C++
- Spotify Api
- SWEA
- regression
- java
- SECS-II
- 스포티파이
- 자바
- 파이썬
- modern c++
- python
- Computer Science
- SW Expert Academy
- SECS/GEM
- programmers
- c
Archives
- Today
- Total
비버놀로지
[Programmers 프로그래머스] 12940 최대공약수와 최소공배수 본문
728x90
programmers.co.kr/learn/courses/30/lessons/12940
두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12)는 [3, 12]를 반환해야 합니다.
BigInteger을 이용하면 쉽게 최소공배수를 찾을 수 있다.
BigInteger안에 있는 gcd를 이용해서 최소공배수를 찾아주고, 찾은 최소공배수를 이용해서 두수를 곱한 후 최소공배수로 나누어 준다면 최대공약수가 나오게 된다.
import java.math.BigInteger;
class Solution {
public int[] solution(int n, int m) {
int[] answer=new int[2];
BigInteger N=new BigInteger(String.valueOf(n));
BigInteger M=new BigInteger(String.valueOf(m));
answer[0]=N.gcd(M).intValue();
answer[1]=N.multiply(M).intValue()/answer[0];
return answer;
}
}
728x90
'ALGORITM > JAVA' 카테고리의 다른 글
[Programmers 프로그래머스] 12944 평균 구하기 (0) | 2021.01.08 |
---|---|
[Programmers 프로그래머스] 12943 콜라츠 추측 (0) | 2021.01.08 |
[Programmers 프로그래머스] 67256 키패드 누르기 (0) | 2021.01.08 |
[Programmers 프로그래머스] 12937 짝수와 홀수 (0) | 2021.01.08 |
[Programmers 프로그래머스] 12935 제일 작은 수 제거하기 (0) | 2021.01.08 |
Comments