문제 : https://www.acmicpc.net/problem/14469
code
#include <stdio.h> void BubbleSort(int arrive_time[], int test_time[],int num) { int i, j, temp; for (i = num-1; i >0; i--) for (j = 0; j < i; j++) if (arrive_time[j] > arrive_time[j + 1]) { temp = arrive_time[j]; arrive_time[j] = arrive_time[j + 1]; arrive_time[j + 1] = temp; temp = test_time[j]; test_time[j] = test_time[j + 1]; test_time[j + 1] = temp; } } main() { int N, i, j, t = 0; int arrive[100] = { NULL }, test[100] = { NULL }; scanf("%d", &N); for (i = 0; i < N; i++) scanf("%d %d", &arrive[i], &test[i]); BubbleSort(arrive,test,N); i = 0; while(1) { if (t >= arrive[i]) { t += test[i]; i++; } else t++; if (i == N) break; } printf("%d", t); return 0; }
소가 도착하는시간과 검문받는 시간을 배열로 받고, 정렬(버블,선택,삽입,퀵,힙 등등)을 이용해서 정렬을한다음 for문으로 차례로 검문을 하고 시간을 추가해주면 된다.
오랜만에 정렬을 쓰려니까 헷갈리고 막 잘안되더라
조만간 정렬에 대해서 정리해서 올려야 겠다.