데블스캠프2009/목요일/연습문제/다빈치코드/서민관


#include <stdio.h>

int main(void)
{
	typedef struct _block
	{
		char color;
		int number;
	} block;
	int i = 0, j = 0, m, cardnum;
	
	block hand[13];
	block temp;
	
	// 총 입력받을 카드 갯수 scan
	scanf("%d", &cardnum);

	// 카드 입력 받기
	for ( m = 0 ; m < cardnum ; m++ )
	{
		fflush(stdin);
		scanf("%c %d", &hand[m].color, &hand[m].number);

		for ( i = m ; i >= 0 ; i-- )
		{
			for ( j = 0 ; j < i ; j++ )
			{
				if ( hand[j].number > hand[j+1].number || ( hand[j].number == hand[j+1].number && hand[j].color == 'w'))
				{
					temp = hand[j+1];
					hand[j+1] = hand[j];
					hand[j] = temp;
				}
			}
		}
	}

	for ( j = 0 ; j < cardnum ; j++ )
	{
		printf("%c %d\n", hand[j].color, hand[j].number);
	}

	return 0;
}

카드의 갯수를 입력한 후, 그 수만큼 카드 색, 카드 숫자를 입력하면 크기나 색 순서로 정렬해준다.
Retrieved from http://wiki.zeropage.org/wiki.php/데블스캠프2009/목요일/연습문제/다빈치코드/서민관
last modified 2021-02-07 05:29:08