http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0028
最初に、頻度を記録する配列を用意したのですが、その時に
for(i = 0; i < 101; i++) { freq[i] = 0; }と初期化するのはなんだか時間かかりそうだなあと思い、他の方法を探してみたら、
int freq[101]={0};でいいんですね。知らなかった…。
#include <stdio.h> int main(void) { int num,i,max; int freq[101]={0}; while(scanf("%d",&num) != EOF) { freq[num] += 1; } max = 0; for(i = 1; i < 101; i++) { if (max <= freq[i]) max = freq[i]; } for(i = 1; i < 101; i++) { if (freq[i] == max) printf("%d\n", i); } return 0; }
0 件のコメント:
コメントを投稿