🔺 문제
1157번: 단어 공부
알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.
www.acmicpc.net
🔺 코드
[백준 알고리즘] 백준 1157번 단어 공부 자바(Java)
츄르사려고 코딩하는 코집사입니다. 1. [백준 알고리즘] 백준 1157번 단어 공부 자바(Java) 1) 문제번호 : 1157번 2) 문제 출처 www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주
yongku.tistory.com
import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int[] cnt = new int[26];
String str = br.readLine().toUpperCase();
int max = -1; // 배열 안 초기값이 0이므로 -1로 지정
char ch = '?';
for(int i=0 ; i < str.length() ; i++) {
// 알파벳 개수 확인
char c = str.charAt(i);
cnt[c - 'A']++;
// 최대값 찾기
if(max < cnt[c - 65]) {
max = cnt[c - 65];
ch = str.charAt(i);
}
else if(max == cnt[c - 65]) {
ch = '?';
}
}
System.out.println(ch);
}
}
✅ 해결 아이디어
- 받은 단어를 대문자로 변환.
- 알파벳 A~Z : 총 6개
- 'A' = 65
최빈값 구하는 문제... 아직도 마스터를 못 한 사람이 있다?!
char이 나와서 고민하다가 다른 분 코드 보고 작성...
복습허자,,,,
(+5/31 복습 코드)
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
|
import java.util.*;
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().toUpperCase();
int[] alphabet = new int[26];
for(int i = 0 ; i < str.length() ; i++) {
alphabet[str.charAt(i) - 'A']++;
}
int max = 0;
char ch = '?';
for(int i = 0 ; i < alphabet.length ; i++) {
if(alphabet[i] > max) {
max = alphabet[i];
ch = (char) (i + 65);
}
else if(alphabet[i] == max) {
ch = '?';
}
}
System.out.println(ch);
}
}
|
cs |
그냥 입력받은 문자 다 대문자로 해서 알파벳 갯수 세는 배열에 갯수 넣어버렸다.
그리고 현재 인덱스 값에서 최댓값이 나오면 그 (char)인덱스 값 + 65를 해서 아스키코드로 변환해 대문자로 받음!
(참고)
🔺 다른 풀이들
[Java] 백준 1157 : 단어 공부
📌 문제 https://www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와
woogienote.tistory.com
[백준 1157] 문자열 '단어 공부' - 자바 (java)
'단어 공부' - 자바 (java) 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구
jaejong.tistory.com
'코테 > 백준' 카테고리의 다른 글
[백준/JAVA] 4344번: 평균은 넘겠지 (0) | 2023.04.01 |
---|---|
[백준/JAVA] 10757번: 큰 수 A+B (0) | 2023.03.30 |
[백준/JAVA] 10811번: 바구니 뒤집기 (0) | 2023.03.30 |
[백준/JAVA] 10813번: 공 바꾸기 (0) | 2023.03.30 |
[백준/JAVA] 10810번: 공 넣기 (0) | 2023.03.30 |