반응형
분류: 문자열
▶문제
▶코드
//백준알고리즘 제출시 클래스 이름은 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
반응형
'백준알고리즘' 카테고리의 다른 글
백준알고리즘:p2798 블랙잭 (0) | 2021.03.02 |
---|---|
백준알고리즘:p1152 단어의 개수 (0) | 2021.02.24 |
백준알고리즘:p2675 문자열 반복 (0) | 2021.02.23 |
백준알고리즘:p10809 알파벳 찾기 (0) | 2021.02.23 |
백준알고리즘:p11720 문자열 숫자의 합 (0) | 2021.02.23 |
댓글