[Baekjoon] 백준 1157번 Python / C

방선생·2025년 1월 11일

Baekjoon

목록 보기
3/24

백준 1157번

Python code

alpha = input().lower() #소문자로 변환
alpha_list = list(set(alpha)) #중복 제거
cnt = []

for i in alpha_list:
  count = alpha.count(i) #알파벳 개수 세기
  cnt.append(count) 

if cnt.count(max(cnt)) >= 2:
  print('?')

else:
  print(alpha_list[cnt.index(max(cnt))].upper()) #대문자

C code

#include <stdio.h>
#include <string.h>


int main(){
  char alpha[1000001] = {0};
  int cnt[26] = {0};
  int max = 0;
  char max_alpha = '?';
  
  scanf("%s", alpha);
  int len = strlen(alpha); //for문에 바로넣으면 계속 길이 재서 시간초과
  
  for(int i = 0; i < len; i++){
    if(alpha[i] >= 'a'){
      cnt[alpha[i] - 'a']++; //아스키코드 라서 인덱스로 바꿔줌
    } //소문자 일경우

    else{
      cnt[alpha[i] - 'A']++;
    } //대문자 일경우
  }

  for(int i = 0; i < 26; i++){
    if(cnt[i] > max){
      max = cnt[i];
      max_alpha = 'A' + i;
    }

    else if(cnt[i] == max){
      max_alpha = '?';
    }
  }

  printf("%c", max_alpha);
  
  
  return 0;
}
profile
AI & Robotics

0개의 댓글