티스토리 뷰

728x90
반응형

숫자에서 가장 큰 자리수를 구한 후 각 자리수의 숫자들이 0~9라는 사실을 활용하여 계수정렬을 시켰습니다. 작성한 코드는 다음과 같습니다.

#include<stdio.h>

int N;
int count[10];
int in_number = 0;
//각 자리수는 0~9까지 제한된 범위 -> 계수정렬 O(N)
int main(void) {
	scanf("%d", &N);

	for (int i = 1000000000; i >= 1; i /= 10) {
		if (N / i > 0 || in_number == 1) {
			in_number = 1;
			count[N / i]++;
			N -= (N / i * i);
		}
	}

	for (int i = 9; i >= 0; i--) {
		if (count[i] != 0) {
			printf("%d", i);
			count[i]--;
			i++;
		}
	}

	return 0;
}

 

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

728x90
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함
반응형
250x250