본문 바로가기
백준(C언어)/22년 9월

9월 27일(화) - 정렬(1427번)

by C0MPAS 2022. 9. 27.

정렬 - 1427번

 

1427번: 소트인사이드

첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다.

www.acmicpc.net

 

문제점

1. 숫자 n을 char 형태로 입력받는다고 생각하지 못하고, int 형태로만 생각하면서 swap을 구현하기도 어려웠었다.

-> char 자료형의 string으로 입력받는다고 생각하니 쉽게 풀이할 수 있었다.

 

풀이

#define _CRT_SECURE_NO_WARNINGS
#pragma warning(disable: 4996)

#include <stdio.h>
#include <string.h>
#define SWAP(x,y,t) ( (t)=(x), (x)=(y), (y)=(t) )

int main(void)
{
	char n[10];
	char tmp;

	scanf("%s", n);

	for (int i = 0; i < strlen(n) - 1; i++)
	{
		for (int j = 0; j < strlen(n); j++)
		{
			if (n[j] < n[j + 1])
			{
				SWAP(n[j], n[j + 1], tmp);
			}
		}
	}
	printf("%s", n);

	return 0;
}

댓글