데블스캠프2009/목요일/연습문제/다빈치코드/서민관 (rev. 1.1)
데블스캠프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;
}
카드의 갯수를 입력한 후, 그 수만큼 카드 색, 카드 숫자를 입력하면 크기나 색 순서로 정렬해준다.