単語を習う
6701 ワード
質問する
[Bronze I]正解率39%
https://www.acmicpc.net/problem/1157
の意見を打診
学識
for
ゲート内の終了条件でi<strlen(input
に入れられ、結果的にタイムアウトした.検索により、終了条件に
strlen
を加えると、for文が繰り返されるたびにstrlen
関数が呼び出されて長さ測定が行われることが分かった.->新しい
int
変数にstrlen
の値を加え、終了条件に入れて解決します.コード#コード# #include <stdio.h>
#include <string.h>
int main(){
int lists[26] = {0};
int index = 0;
int max_index = 0;
char max_value='A';
char input[1000001];
scanf("%s", input);
// printf("%d %d\n", 'a', 'z'); // 97 ~ 122
// printf("%d %d", 'A', 'Z'); // 65 ~ 90
int len = strlen(input);
for(int i=0; i<len; i++){
if(input[i]>95)
index = input[i]-97;
else
index = input[i]-65;
lists[index]++;
}
for(int i=1; i<26; i++){
if(lists[max_index]==lists[i])
max_value = '?';
else if(lists[max_index]<lists[i]){
max_index = i;
max_value = 'A'+i;
}
}
printf("%c", max_value);
return 0;
}
``
Reference
この問題について(単語を習う), 我々は、より多くの情報をここで見つけました
https://velog.io/@yeob-yi/boj-1157
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
#include <stdio.h>
#include <string.h>
int main(){
int lists[26] = {0};
int index = 0;
int max_index = 0;
char max_value='A';
char input[1000001];
scanf("%s", input);
// printf("%d %d\n", 'a', 'z'); // 97 ~ 122
// printf("%d %d", 'A', 'Z'); // 65 ~ 90
int len = strlen(input);
for(int i=0; i<len; i++){
if(input[i]>95)
index = input[i]-97;
else
index = input[i]-65;
lists[index]++;
}
for(int i=1; i<26; i++){
if(lists[max_index]==lists[i])
max_value = '?';
else if(lists[max_index]<lists[i]){
max_index = i;
max_value = 'A'+i;
}
}
printf("%c", max_value);
return 0;
}
``
Reference
この問題について(単語を習う), 我々は、より多くの情報をここで見つけました https://velog.io/@yeob-yi/boj-1157テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol