-
[java] 백준 알고리즘 1157번 단어공부 풀이알고리즘/백준 알고리즘 2018. 5. 23. 16:50
* 풀이 소스
123456789101112131415161718192021222324252627282930313233343536373839404142public class Baekjoon1157 {public static void main(String[] args) throws IOException {BufferedReader br = new BufferedReader(new InputStreamReader(System.in));BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));String word = br.readLine().toUpperCase(); // 입력되는 문자 모두 대문자로 변환boolean flag = true; // 가장 많이 사용한 단어가 단수인지 복수인지 구분int[] mostUsedAlphabet = new int[26];for(int i=0; i<word.length(); i++) {mostUsedAlphabet[word.charAt(i) - 65] += 1; // 해당 문자가 나올 때마다 1씩 올라감}int max = 0;int maxIndex = 0;int duplicateMax = 0;for(int j=0; j<mostUsedAlphabet.length; j++) {if(max < mostUsedAlphabet[j]) { // 가장 큰 값이 계속 업데이트 됨max = mostUsedAlphabet[j];maxIndex = j; // 가장 큰 값이 있는 배열 인덱스}else if(max == mostUsedAlphabet[j]) {duplicateMax = max; // 최대값이 중복되는지 체크하기 위함}}if(duplicateMax == max) { // 최대값이 복수면 falseflag = false;}if(flag) {bw.write((char)(maxIndex+65)); // 아스키 코드 변환}else {bw.write("?");}bw.flush();}}cs '알고리즘 > 백준 알고리즘' 카테고리의 다른 글
[java] 백준 알고리즘 2908번 상수 풀이 (0) 2018.05.24 [java] 백준 알고리즘 1316번 그룹 단어 체크 풀이 (0) 2018.05.23 [java] 백준 알고리즘 2675번 문자열 반복 풀이 (0) 2018.05.19 [java] 백준 알고리즘 11654번 아스키 코드 풀이 (0) 2018.05.19 [java] 백준 알고리즘 10809번 알파벳 찾기 풀이 (0) 2018.05.19