시나브로

[D4] 7810. 승현이의 질문 본문

알고리즘/SW Expert Academy

[D4] 7810. 승현이의 질문

혬혬 2019. 10. 6. 11:13
728x90
#include <stdio.h>
int input[500005] = { 0 };
int num;
void quickSort(int first, int last)
{
	int pivot;
	int i;
	int j;
	int temp;

	if (first < last)
	{
		pivot = first;
		i = first;
		j = last;

		while (i < j)
		{
			while (input[i] <= input[pivot] && i < last)
			{
				i++;
			}
			while (input[j] > input[pivot])
			{
				j--;
			}
			if (i < j)
			{
				temp = input[i];
				input[i] = input[j];
				input[j] = temp;
			}
		}

		temp = input[pivot];
		input[pivot] = input[j];
		input[j] = temp;

		quickSort(first, j - 1);
		quickSort(j + 1, last);
	}
}
int main() {
	int test_case = 0;
	scanf("%d", &test_case);
	char buffer = 0;
	scanf("%c", &buffer);
	for (int q = 0; q < test_case; q++) {
		int total_index = 0;
		scanf("%d", &total_index);
		for (int i = 0; i < total_index; i++)
			scanf("%d", &input[i]);
		quickSort(0, total_index-1 );
		int answer = 0;
		for (int i = total_index; i >=0; i--) {
			int box = total_index - i;
			if (i <= input[box]) {
				answer = i;
				break;
			}

		}
		printf("#%d %d\n", q + 1, answer);
	}

	return 0;
}
728x90

'알고리즘 > SW Expert Academy' 카테고리의 다른 글

8993. 하지 추측  (0) 2020.01.06
[D4] 7465. 창용 마을 무리의 개수  (0) 2019.10.12
[D4] 8382. 방향 전환  (0) 2019.10.06
[D3] 7732. 시간 개념  (0) 2019.10.06
[D5] 8191. 만화책 정렬하기  (0) 2019.10.06
Comments