백준 BOJ

[백준 1157번] 단어공부 (c언어)

하늘아래현서 2023. 2. 2. 16:43
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(int argc, char *argv[]){
	char* str;
	char temp[1000001];
	int alphabet[26] = {0,};
	int i, flag, index, max, len;
	
	scanf("%s", &temp);
	str = (char*)malloc(strlen(temp)+1);
	strcpy(str, temp);
	len = strlen(str);
	
	for(i=0; i<len; i++){
		if((*(str+i)-97) >= 0){ //lower case
			++alphabet[*(str+i)-97];
		}
		if((*(str+i)-65) >= 0){ //upper case
			++alphabet[*(str+i)-65];
		}
	}

	max = alphabet[0];
	index = 0;
	for(i=0; i<26; i++){
		if(max < alphabet[i]){
			max = alphabet[i];
			index = i;
		}
	}
	
	for(i=0; i<26; i++){
		flag = 0;
		if(max == alphabet[i] && index != i){
			flag = 1;
			break;
		}
	}
	
	if(flag == 0){
		printf("%c", index+65);
	}else{
		printf("?");
	}
	
	return 0;
}

 

- 26번줄에 index = 0 한 줄 넣으니까 돌아간다... c언어 짜잉나...