728x90
https://www.acmicpc.net/problem/1427
1427번: 소트인사이드
첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다.
www.acmicpc.net
~~ 1 ~~
#include <stdio.h> // 소트인사이드
#include <stdlib.h>
#include <string.h>
int main()
{
char n[11];
gets(n);
int counting[10] = { 0, };
for (int i = 0; i < strlen(n); i++)
{
counting[n[i] - '0']++;
}
for (int i = 9; i >= 0; i--)
{
for (int j = 0; j < counting[i]; j++)
{
printf("%d", i);
}
}
return 0;
}
~~ 2 ~~
#include <stdio.h> // 소트인사이드
#include <stdlib.h>
#include <string.h>
int main()
{
char n[11];
gets(n);
// 삽입정렬
int j, temp;
for (int i = 1; i < strlen(n); i++)
{
temp = n[i];
for (j = i - 1; j >= 0 && n[j] < temp; j--)
{
n[j + 1] = n[j];
}
n[j + 1] = temp;
}
// 버블정렬
/* for (int i = 0; i < strlen(n) - 1; i++)
{
for (int j = 0; j < strlen(n) - i - 1; j++)
{
if (n[j] < n[j + 1])
{
temp = n[j];
n[j] = n[j + 1];
n[j + 1] = temp;
}
}
} */
puts(n);
return 0;
}
MEMO
-- 리스트의 요소를 정렬하는 것이 아닌 문자열로 받아 정렬하는 점이 포인트
[1]
-- 계수정렬 사용
[2]
-- 삽입정렬, 버블정렬 사용
!! 새로운 방식의 정렬 익히기 !!
728x90
728x90
'백준[baekjoon] > C언어' 카테고리의 다른 글
백준(baekjoon) [C] - 6588번: 골드바흐의 추측 (0) | 2023.02.11 |
---|---|
백준(baekjoon) [C] - 2417번: 정수 제곱근 (0) | 2023.02.10 |
백준(baekjoon) [C] - 15652번: N과 M (4) (0) | 2023.02.09 |
백준(baekjoon) [C] - 15650번: N과 M (2) (0) | 2023.02.09 |
백준(baekjoon) [C] - 11727번: 2xn 타일링 2 (0) | 2023.02.08 |