본문 바로가기
백준알고리즘

백준알고리즘:p1157 단어공부

by socialcomputer 2021. 2. 24.

분류: 문자열

 

문제 

 

코드

//백준알고리즘 제출시 클래스 이름은 Main으로 바꿔야 됨 
import java.util.Scanner;

public class p1157 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		String word = sc.nextLine().toUpperCase();
		int[] check = new int[26];
		
		for(int i=0; i<word.length(); i++) {
			check[word.charAt(i)-65] += 1;
		}
																																																														
		int many =0; 
		char result = ' ';
		for(int j=0; j<26; j++) { 
			if(many<check[j])	{ //더 큰 값이 있을 때 (bba일때)
					many = check[j];
					result = (char)(j+65);
				}
			else if(many !=0 && check[j] == many) result = '?'; //(bbaa일때)
			}
		System.out.print(result);
sc.close();
	}
}

▶풀이

scanner를 사용했고,

받은 문자열을 모두 대문자로 바꾼 후

해당 아스키코드값-65를 하여 알파벳이 있을 때마다 배열에 +1을 해줬다. 

이 중 제일 높은 값이 저장되었는 배열의 인덱스+65를 한 것이 가장 많이 나온 알파벳이다.

 


채점결과

 

링크 www.acmicpc.net/problem/1157

 

1157번: 단어 공부

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

www.acmicpc.net

 

댓글