반응형

 

 

안녕하세요 Jin's 입니다.

 

백준 알고리즘의 문자열 중 단어 공부 ( 문제 번호 : 1157 )의 소스입니다.

 

 

Java와 Python 두가지 버전 소스입니다.

 

1) JAVA

import java.util.Scanner;

public class Main {
	public static void main(String[] args){
		Scanner scan = new Scanner(System.in);
		String word = scan.nextLine().toUpperCase(); //대소문자 구별하지 않기위해
		scan.close();
		int[] arr = new int[26];
		int max = 0;
		char result ='?'; 
		for(int i=0; i<word.length(); i++){
			arr[word.charAt(i)-'A']++; //index를 0부터 하기 위해서 arr[0]=>'A'값이 들어가도록
			if(max < arr[word.charAt(i)-'A']){
				max = arr[word.charAt(i)-'A'];
				result = word.charAt(i);
			}else if(max == arr[word.charAt(i)-'A']){ //가장 많이 사용된 알파벳이 여러 개 존재
				result='?';
			}
		}
		System.out.println(result);
	}
}

 

2) PYTHON

   * set으로 중복되는 단어 미리 제거 후 해당 단어들에 대하여 count 한 것을 max 값과 비교

word = input().upper()
w_list = set(word)
result = ''
max_cnt = 0

for i in w_list:
    if max_cnt < word.count(i):
        max_cnt = word.count(i)
        result = i
    elif max_cnt == word.count(i):
        result = '?'
print(result)

 

여러분도 한번 풀어보세요!

 

반응형

+ Recent posts