🔗 문제 내용
https://www.acmicpc.net/problem/1157
1157번: 단어 공부
알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.
www.acmicpc.net
🌱 문제 풀이 방법
구현, 문자열 문제라 문자열 다루는 법만 찾아보고 해결함.
아스키 코드 표를 오랜만에 확인함.
🤔 공부가 필요한 부분
시간 복잡도 계산 방법에 대해 꼭 공부하고 넘어가야함.
💻 코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
String input = sc.nextLine();
int[] count = new int[26];
int tmp;
int length = input.length();
int max=-1;
char answer = '?';
for(int i=0; i<length;i++) {
tmp = (int)input.charAt(i);
if((tmp>=97)&&(tmp<=122)){
tmp=tmp-97;
}else {
tmp=tmp-65;
}
count[tmp]+=1;
}
for(int i=0;i<26;i++) {
if(max<count[i]) {
max=count[i];
answer=(char)(i+65);
}
else if(max==count[i]) {
answer='?';
}
}
System.out.print(answer);
}
}
'알고리즘 > 문제풀이' 카테고리의 다른 글
[Java] 백준 2751 : 수 정렬하기 2 (0) | 2021.12.13 |
---|---|
[Java] 백준 1259 : 팰린드롬수 (0) | 2021.11.28 |
[Java] 백준 1018 : 체스판 다시 칠하기 (0) | 2021.11.28 |
[Java] 백준 2675 : 문자열 반복 (0) | 2021.11.25 |
[Java] 백준 1152 : 단어의 개수 (0) | 2021.11.25 |
댓글