백준(BaekJoon)

[BaekJoon/C] No.2750 : 수 정렬하기

ekdnjs510 2024. 7. 21. 10:45
728x90

https://www.acmicpc.net/problem/2750

No.2750 문제

 

문제해석

개수만큼 수를 배열에 입력받은 뒤 배열에 저장된 값들을 비교하며 오름차순으로 저장한 뒤 출력합니다.  

 

소스코드 & 문제풀이

#include<stdio.h>

int main()
{
	int n, tmp; // 입력할 개수 변수와 임시 저장할 변수 선언
    int arr[1000] = { 0, }; // 문제에서 주어진 범위만큼 입력한 값을 저장할 배열을 선언하고 초기화

	scanf("%d", &n); // 입력할 변수 개수

    // 배열에 n개만큼 차례로 값을 입력받습니다
	for (int i = 0; i < n; i++)
	{
		scanf("%d", &arr[i]);
	}

    // 배열의 전체를 순회하는 동안 입력받은 값들의 앞뒤 값을 비교합니다
	for (int k = 0; k < 1000; k++)
	{
		for (int i = 0; i < n - 1; i++)
		{
           // 배열의 앞이 다음 배열보다 크면 
			if (arr[i] > arr[i + 1])
			{
				tmp = arr[i]; // 임시 공간에 앞 배열을 저장
				arr[i] = arr[i + 1]; // 비어있는 앞 배열에 다음 배열의 값을 저장
				arr[i + 1] = tmp; // 남은 다음 배열을 앞서 임시저장했던 값을 가지고 옵니다

			}
		}
	}

    // 앞에서 모든 과정이 끝난 배열을 순서대로 출력합니다
	for (int j = 0; j< n; j++)
	{
		printf("%d\n", arr[j]);
	}
}

 

예제 입출력 결과

예제 입력
예제 출력

 

728x90