Development/알고리즘
[ 백준 알고리즘 ] 1157번 단어 공부 (JAVA/python)
Jin’s
2020. 6. 30. 14:07
반응형
안녕하세요 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)
여러분도 한번 풀어보세요!
반응형