문제출처 : https://www.acmicpc.net/problem/12034
code
#include <stdio.h> int main() { int T, N, i, j, k, num = 1; scanf("%d", &T); while (T) { long long arr[1000] = { 0 }, result[1000] = { 0 }; scanf("%d", &N); for (i = 0; i < 2*N; i++) scanf("%lld", &arr[i]); k = 0; for (i = 0; i < 2 * N - 1; i++) for (j = i + 1; j < 2 * N; j++) { if (arr[i] == 0) break; if (arr[j] != 0 && arr[j] / 4 * 3 == arr[i]) { result[k] = arr[i]; arr[i] = 0, arr[j] = 0; k++; break; } } printf("Case #%d:",num); for (i = 0; i < N; i++) printf(" %lld", result[i]); printf("\n"); num++; T--; } return 0; }
조건에 오름차순으로 입력을 받아줘서 정렬을안해도 되니까 편했음.
다만 배열 크기를 100, 50으로 하니까 outofbound오류가 떠서 크게 1000으로 설정해줬음