https://www.acmicpc.net/problem/1427
1427번: 소트인사이드
첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다.
www.acmicpc.net
코드 (C)
#include <stdio.h>
void swap(int* a, int* b)
{
int tmp = *a;
*a = *b;
*b = tmp;
}
int main()
{
long long input;
int arr[11], i=0;
scanf("%lld", &input);
while (input > 0)
{
arr[i] = input % 10;
input /= 10;
i++;
}
for (int j = 0; j < i-1; j++)
{
for (int k = 0; k < i - 1 - j; k++) if (arr[k] < arr[k + 1]) swap(&arr[k], &arr[k + 1]);
}
for (int k = 0; k < i; k++) printf("%d", arr[k]);
return 0;
}
코드 (C++)
#include <iostream>
using namespace std;
void swap(int* a, int* b)
{
int tmp = *a;
*a = *b;
*b = tmp;
}
int main()
{
long long input;
cin >> input;
int arr[11], i=0;
while (input > 0)
{
arr[i] = input % 10;
input /= 10;
i++;
}
for (int j = 0; j < i - 1; j++)
{
for (int k = 0; k < i - 1 - j; k++) if (arr[k] < arr[k + 1]) swap(&arr[k], &arr[k + 1]);
}
for (int j = 0; j < i; j++) cout << arr[j];
return 0;
}
코드설명
while문을 돌면서 입력된 숫자의 자릿수를 배열에 저장한다.
for문을 돌면서 버블정렬을 이용해 정렬했다.
느낀 점
개인적으로 버블정렬을 좋아해서 버블정렬로 풀었다.
[IT개론] 알고리즘
출처 : 소프트웨어 세상을 여는 컴퓨터과학 1. 알고리즘의 개요 1) 알고리즘의 개념 (1) 알고리즘(algorithm) - 어떤 문제를 해결하기 위해 구성된 일련의 절차 (2) 알고리즘의 조건 - 0개 이상의 입력,
0yeonjae2.tistory.com
위 링크에 선택정렬, 삽입정렬, 버블정렬이 어떻게 이루어지는지와 파이썬으로 구현한 정렬을 정리해두었다.

'PS (C, C++)' 카테고리의 다른 글
[백준/C & C++] 1712 손익분기점 (0) | 2022.08.26 |
---|---|
[백준/C & C++] 1773 폭죽쇼 (0) | 2022.08.26 |
[백준/C & C++] 1453 피시방 알바 (0) | 2022.08.26 |
[백준/C & C++] 1225 이상한 곱셈 (0) | 2022.08.24 |
[백준/C] 1718 암호 (0) | 2022.08.24 |