잡초의 일지

[C language] 프로그래머스 | 코딩테스트 연습 -> 연습문제 -> 최솟값 만들기 본문

[코딩] 문제풀기/C language

[C language] 프로그래머스 | 코딩테스트 연습 -> 연습문제 -> 최솟값 만들기

JabCho 2020. 7. 28. 07:26
728x90
반응형
SMALL
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

int static compare1 (const void* first, const void* second){		// 오름차순에 사용
    if (*(int*)first > *(int*)second)
        return 1;
    else if (*(int*)first < *(int*)second)
        return -1;
    else
        return 0;
}
int static compare2 (const void* first, const void* second){		// 내림차순에 사용
    if (*(int*)first > *(int*)second)
        return -1;
    else if (*(int*)first < *(int*)second)
        return 1;
    else
        return 0;
}

int solution(int A[], size_t A_len, int B[], size_t B_len) {
    int answer = 0;
    
    qsort(A, A_len, sizeof(int), compare2);
    qsort(B, B_len, sizeof(int), compare1);

    for (int i=0; i<A_len; i++){
        answer += A[i] * B[i];
    }
    
    return answer;
}

twpower.github.io/56-qsort-in-c

 

[C] C언어에서 qsort 사용하기

Practice makes perfect!

twpower.github.io

qsort는 <stdlib.h>에 있는 함수이다. 주어진 문제에서 위의 헤더파일이 떠있길래 함수를 사용하였다.

아니면 그냥 정렬하는 함수를 새로 만들어서 사용하여야 한다.

728x90
반응형
LIST
Comments