티스토리 뷰

1. 문제

https://www.acmicpc.net/problem/1157

 

1157번: 단어 공부

알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.

www.acmicpc.net

 

2. 설명

문자열 처리 파트의 문제.

정답 출력을 대문자로 하기 때문에 대문자로 캐스팅해줬다.

그리고 문자 하나씩 비교해서 maxAlpha를 구해갔다.

 

3. 코드

import java.util.StringTokenizer;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
	public static void main(String[] args) throws IOException{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st = new StringTokenizer(br.readLine());
		String word = st.nextToken();
		word = word.toUpperCase();
		
		int[] alpha = new int[26];
		for(char c : word.toCharArray()) {
			int n = c - 'A';
			alpha[n]+=1;
		}
		
		int max = 0;
		char maxAlpha = 0;
		for(int i=0; i<alpha.length; i++) {
			if(alpha[i]>max) {
				max = alpha[i];
				maxAlpha = (char) (i+65);
			} else if(alpha[i]==max) {
				maxAlpha = '?';
			}
		}
		
		System.out.println(maxAlpha);
	}
}

'알고리즘 풀이 > 백준' 카테고리의 다른 글

백준 1475 방 번호 JAVA  (0) 2020.08.05
백준 1152 단어의 개수 JAVA  (0) 2020.08.02
백준 1049 기타줄 JAVA  (0) 2020.07.30
백준 2217 로프 JAVA  (0) 2020.07.29
백준 9461 파도반 수열 JAVA (DP)  (0) 2020.07.20
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday