* Computer Science/Project Euler

codeground 3. 시험 공부

soicem 2016. 6. 2. 15:29
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
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <stdio.h>
#include <stdlib.h>
 
int cmp(const void *first, const void *second){
    return *(int*)second - *(int*)first;
}
 
int main(void) {
       /* 아래 freopen 함수는 input.txt를 read only 형식으로 열고, 표준입력(키보드) 대신 input.txt 로 부터 읽어오겠다는 의미의 코드입니다.
       만약 본인 PC 에서 테스트 할 때는, 입력값을 input.txt에 저장한 후 freopen 함수를 사용하면
          그 아래에서 scanf 함수를 사용하여 표준입력 대신 input.txt 파일로 부터 입력값을 읽어 올 수 있습니다.
          또한, 본인 PC에서 freopen 함수를 사용하지 않고 표준입력을 사용하여 테스트하셔도 무방합니다.
       단, Codeground 시스템에서 "제출하기" 할 때에는 반드시 freopen 함수를 지우거나 주석(//) 처리 하셔야만 합니다. */
    // freopen("input.txt", "r", stdin);
    int TC;
    int test_case;
 
    setbuf(stdout, NULL);
 
    scanf("%d", &TC);
    for(test_case = 1; test_case <= TC; test_case++) {
        // 이 부분에서 알고리즘 프로그램을 작성하십시오. 기본 제공된 코드를 수정 또는 삭제하고 본인이 코드를 사용하셔도 됩니다.
        int N, K, i, result = 0;
        int *score;
        scanf("%d %d", &N, &K);
        score = (int*)malloc(sizeof(int)*N);
        for(i = 0; i<N; i++){
            scanf("%d", &score[i]);
        }
        
        qsort(score, N, sizeof(int), cmp);
        
        for(i = 0; i<K; i++){
            result += score[i];
        }
 
        // 이 부분에서 정답을 출력하십시오.
        printf("Case #%d\n", test_case);
        printf("%d\n", result);
        free(score);
    }
 
    return 0;    // 정상종료 시 반드시 0을 리턴해야 합니다.
}
cs


qsort, malloc 사용, 변수 재선언 부분 

'* Computer Science > Project Euler' 카테고리의 다른 글

project euler 3. problem  (0) 2016.07.13
project euler 2. problem  (0) 2016.07.12
project euler 1. problem  (0) 2016.07.11
codeground 2번. 프로그래밍 경진대회  (0) 2016.06.02
1. sorting  (0) 2016.05.22