문제
첫 번째 분수의 분자와 분모를 뜻하는 numer1, denom1, 두 번째 분수의 분자와 분모를 뜻하는 numer2, denom2가 매개변수로 주어집니다. 두 분수를 더한 값을 기약 분수로 나타냈을 때 분자와 분모를 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요.
솔루션
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
int* solution(int numer1, int denom1, int numer2, int denom2) {
// return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요.
int* answer = (int*)malloc(2*sizeof(int));
answer[0] = numer1*denom2+numer2*denom1;
answer[1] = denom1*denom2;
for(int i = answer[0]; i >= 2; i--)
if(answer[0] % i == 0 && answer[1] % i == 0)
{
answer[0] /= i;
answer[1] /= i;
}
return answer;
}
https://school.programmers.co.kr/learn/courses/30/lessons/120808
'프로그래머스코딩테스트연습풀이 > C언어' 카테고리의 다른 글
[프로그래머스/C언어] 등차수열의 특정한 항만 더하기 (0) | 2023.08.04 |
---|---|
[프로그래머스/C언어] 코드 처리하기 (0) | 2023.08.04 |
[프로그래머스/C언어] 배열 두배 만들기 (0) | 2023.08.04 |
[프로그래머스/C언어] 피자 나눠 먹기 (2) (0) | 2023.08.04 |
[프로그래머스/C언어] 직각삼각형 출력하기 (0) | 2023.08.04 |