일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 자바 왕기초
- 스프링 에러
- 자바 기초
- jsp
- HTML
- 스프링 부트가 해결하려고 했던 문제
- 스프링과 스프링부트 차이점
- java
- 제이쿼리
- 오라클통계
- 오라클일별데이터
- CSS
- 스프링 구글차트
- 오라클
- 스프링 Ioc Container
- 스프링
- Spring Boot가 해결하려고 했던 문제
- 썸머노트
- 스프링 제어역전
- 자바왕초보
- 자바
- 스프링 구글차트로 기간별 현황 조회하기
- maven
- 오라클클라우드에 젠킨스 설치하기
- 세션
- 오라클주별데이터
- 자바왕기초
- 스프링 Ioc
- 자바기초
- 오라클월별데이터
Archives
- Today
- Total
Just Do it
[백준/자바] 1157번: 단어 공부 본문
1. 문제
https://www.acmicpc.net/problem/1157
1157번: 단어 공부
알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.
www.acmicpc.net
2. 내 코드
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
//1. 알파벳 배열 생성
int[] arr = new int[26];
//2. 입력되는 문자열의 문자를 검사해 대소문자에 상관없이 알파벳 배열에 사용된 알파벳의 개수를 넣는다.
for(int i=0; i<str.length(); i++ ){
if ('A' <= str.charAt(i) && str.charAt(i) <= 'Z') { // 대문자 범위
arr[str.charAt(i) - 'A']++;
} else { // 소문자 범위
arr[str.charAt(i) - 'a']++;
}
}
int max = -1; // 사용된 알파벳 개수는 0 이상이므로 최댓값을 -1로 둔다.
char ch = 0;
for (int i=0; i<arr.length; i++) {
if (max < arr[i]) {
max = arr[i];
ch = (char)(i+65); // 대문자로 출력해야하므로 65를 더해준다.
} else if (max == arr[i]) {
ch ='?';
}
}
System.out.println(ch);
}
}
3. 다시 체크하고 넘어갈 부분
1. 아스키 코드
소문자 a = 97
대문자 A = 65
'신입 개발자가 되기 위해 공부했던 독학 자료들 > Java 연습문제 (백준)' 카테고리의 다른 글
[백준/자바] 5622번: 다이얼 (0) | 2022.02.15 |
---|---|
[백준/자바] 2908번: 상수 (0) | 2022.02.13 |
[백준/자바] 10809번: 알파벳 찾기 (0) | 2022.02.02 |
[백준/자바] 1065번: 한수 (0) | 2022.01.31 |
[백준/자바] 4344번: 평균은 넘겠지 (0) | 2022.01.29 |