반응형
https://www.acmicpc.net/problem/2750
2750번: 수 정렬하기
첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.
www.acmicpc.net
코드
#include <iostream>
using namespace std;
void Sort(int arr[], int n);
const int SIZE = 1000;
int main()
{
int n, input, arr[SIZE] = { };
cin >> n;
for (int i = 0; i < n; i++)
{
cin >> input;
arr[i] = input;
}
Sort(arr, n);
for (int i = 0; i < n; i++)
cout << arr[i] << endl;
return 0;
}
void Sort(int arr[], int n)
{
for (int i = 0; i < n; i++)
{
int min = arr[i];
int minIndex = i;
for (int j = i + 1; j < n; j++)
{
if (min > arr[j])
{
min = arr[j];
minIndex = j;
}
}
if (minIndex == i)
continue;
else
{
int temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
}
}
풀이
n개의 수가 주어졌을 때 이를 오름차순으로 정렬하여 출력하는 문제이다.
Sort 함수를 새로 작성해 배열에 저장되어 있는 값들을 정렬하였다.
Sort 함수는 0번 인덱스의 값과 나머지 값을 비교해 가장 작은 값과 값을 바꾸도록 하였다.
수를 오름차순으로 정렬한 뒤 크기가 n인 배열의 값들을 출력하였다.
반응형
'문제 해결 > BaekJoon' 카테고리의 다른 글
[백준] [C++] 5543번 상근날드 (0) | 2023.01.11 |
---|---|
[백준] [C++] 1037번 약수 (0) | 2023.01.11 |
[백준] [C++] 2822번 점수 계산 (0) | 2023.01.11 |
[백준] [C++] 5054번 주차의 신 (2) | 2023.01.07 |
[백준] [C++] 10818번 최소, 최대 (0) | 2023.01.06 |