백준 10989 c++

magicdrill·2024년 3월 30일
0

백준 문제풀이

목록 보기
237/654

백준 10989 c++

#include <iostream>
#include <algorithm>
using namespace std;

int input(int lower, int upper);
void count_serial_input(int* array, int size);
void print_array(int* array);
//1~10000개의 수를 최대 10000000개 입력해야 하므로 중복수가 발생할 수밖에 없음
int main(void)
{
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);

	int* count = new int[10000] {};
	int N;
	
	N = input(1, 10000000);
	count_serial_input(count, N);
	print_array(count);

	delete[] count;

	return 0;
}

int input(int lower, int upper)
{
	int A;

	while (1)
	{
		cin >> A;
		if (A >= lower && A <= upper)
		{
			break;
		}
		else
		{
			;
		}
	}

	return A;
}

void count_serial_input(int* array, int size)
{
	int i;
	int num;

	for (i = 0; i < size; i++)
	{
		num = input(1, 10000);
		array[num-1]++;
	}

	return;
}

void print_array(int* array)
{
	int i, j = 0;

	for (i = 1; i <= 10000; i++)
	{
		j = 0;
		while (j < array[i-1])
		{
			cout << i << '\n';
			j++;
		}
	}

	return;
}

0개의 댓글