사용언어: Java
# 분수의 덧셈 (Lv. 0)
https://school.programmers.co.kr/learn/courses/30/lessons/120808#
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
class Solution {
public int[] solution(int numer1, int denom1, int numer2, int denom2) {
int[] answer = {0, 0};
if(denom1 != denom2){
numer1 *= denom2;
numer2 *= denom1;
answer[1] = denom1 * denom2;
}
else{
answer[1] = denom1;
}
answer[0] = numer1 + numer2;
int gcdNum = gcd(answer[0], answer[1]);
answer[0] /= gcdNum;
answer[1] /= gcdNum;
return answer;
}
public int gcd(int a, int b){
int temp, n;
if(a < b){
temp = a;
a = b;
b = temp;
}
while(b != 0){
n = a%b;
a = b;
b = n;
}
return a;
}
}
느낀 점: 오랜만에 최대공약수를 구하는데, 유클리드 호제법을 써야한다는 사실만 기억나고 막상 그 내용이 잘 기억나지 않았다. 예전에 배운 걸 잊지 않도록 복습과 정리를 습관화 해야겠다.
'알고리즘 > 코테 문제풀이' 카테고리의 다른 글
[프로그래머스] 최빈값 구하기 (0) | 2024.09.03 |
---|---|
[프로그래머스] K번째 수 (0) | 2024.09.01 |
[프로그래머스] 신규 아이디 추천 (문자열) (1) | 2024.08.01 |
[프로그래머스] 실패율 (정렬/Comparator) (0) | 2024.07.31 |
[프로그래머스] 대장균들의 자식의 수 구하기(SQL, SELECT) (0) | 2024.07.27 |