白駿10989号ソート3
以前はソート方法を考えていたときに、それなりの数の配列格に保存する方法を考えましたが、友人が昨日この問題をしたのを見て、この方法でやればいいと思いました.
マイコード
マイコード
#include <stdio.h>
int main()
{
int array[10001] = {0};
int N, i, j, x;
scanf("%d", &N);
for (i = 0; i < N; i++)
{
scanf("%d", &x);
array[x]++;
}
for (i = 1; i < 10001; i++)
{
for (j = 0; j < array[i]; j++)
{
printf("%d\n", i);
}
}
return 0;
}
他人のコード#include <stdio.h>
int main(){
int N;
scanf("%d",&N);
int a[10001]={0};
for(int i=0;i<N;i++) {int t; scanf("%d",&t); a[t]++;}
for(int i=0;i<=10000;i++){
char s[6]={0};
sprintf(s,"%d",i);//나와 방법이 차이는 없으나 printf보다 빠른 puts를 쓰기 위해 sprintf로 정수를 문자열로 저장하여 문자열로 출력한 것이 다른 점이다.
sprintf는 출력을 하는 대신 문자열에 입력된 것을 저장한다.
string printf니 사실 stdout에 입력하여 콘솔에 출력하는 대신 문자열에 출력한다고 생각하면 편하다.
사용법 : sprintf(저장할 주소,문자열) 또는 sprintf(저장할 주소, 출력할 포멧, 정수 등등)
for(int j=0;j<a[i];j++) puts(s);
}
return 0;
Reference
この問題について(白駿10989号ソート3), 我々は、より多くの情報をここで見つけました https://velog.io/@honeyricecake/백준-10989번-수정렬하기3テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol