본문 바로가기
PROGRAMMING CODE/C

[BAEKJOON] No.1026 C언어

by daye_ 2021. 10. 19.

보물

큐솔트를 이용한다.

B배열은 건들지 말라는데 그럼 배열 하나 더만들어서 저장하면 됨.

귀찮으니 생략한다.

 

 

 

#include <stdio.h>
#include <stdlib.h>

int compare(const void* a, const void* b) { //큐솔트를 위한 포인터함수
    return (*(int*)a) - (*(int*)b);
}

int main(int argc, char* argv[]){
    int *A,*B,n=0,sum=0;
    scanf("%d",&n);
    A = (int*)malloc(sizeof(int)*n); //동적배열할당
    B = (int*)malloc(sizeof(int)*n);
    for(int i=0; i<n; i++) scanf("%d",&A[i]); //동적배열에 수 입력
    for(int i=0; i<n; i++) scanf("%d",&B[i]); 

    qsort(A, n, sizeof(int), compare); //정렬
    qsort(B, n, sizeof(int), compare); //혹시 반대 정렬을 원한다면 compare에 있는 a,b를 바꿔적어줌

    for (int i = 0; i < n; i++) sum = sum + (A[i] * B[n-i-1]); //A오름차 B내림차
    printf("%d", sum);

    free(A);
    free(B);
    return 0;
}

'PROGRAMMING CODE > C' 카테고리의 다른 글

[BACKJOON] No.2164 C언어  (0) 2021.12.11
[BAEKJOON] No.1032 C언어  (0) 2021.10.19
[BAEKJOON] No.1094 C언어  (0) 2021.10.19
[BAEKJOON] No.1010 C언어  (0) 2021.10.19
[BAEKJOON] No.1075 C언어  (0) 2021.10.19