[Snow-ball]프로그래밍(컴퓨터)/Algorithm Training
[알고리즘 트레이닝] 백준 알고리즘 1157번: 단어 공부 [JAVA]
Snow-ball
2021. 6. 18. 14:48
반응형
DAY ONE 을 잊지말자!!
문제 :
알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.
입력 :
첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않는다.
출력 :
첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ?를 출력한다.

풀이 1.
|
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
package com.company;
import java.util.Scanner;
public class alphabet {
public static void main(String[] args) {
// 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이
// 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.
Scanner input = new Scanner(System.in);
int[] arr = new int[26];
String s = input.next();
System.out.println("s = " + s);
System.out.println("");
for (int i = 0; i < s.length(); i++) {
System.out.println("i = " + i);
System.out.println("s.charAt(i) = " + s.charAt(i));
if ('A' <= s.charAt(i) && s.charAt(i) <= 'Z') {
arr[s.charAt(i) - 'A']++;
System.out.printf("arr[%d] = %s\n\n", i, s.charAt(i) - 'a');
}
else {
arr[s.charAt(i) - 'a']++;
System.out.printf("arr[%d] = %s\n\n", i, s.charAt(i) - 'a');
}
}
int max = -1;
char ch = '?';
for (int i = 0; i < s.length(); i++) {
System.out.println("밑에 i = " + i);
System.out.println("max = " + max);
System.out.printf("arr[%d] = %s\n" ,i , arr[i]);
if (arr[i] > max) {
max = arr[i];
System.out.println("if안쪽 max = " + max);
ch = (char)(i+65);
System.out.println("ch = " + ch);
}
else if (arr[i] == max){
ch = '?';
}
}
System.out.print("ch : " + ch);
}
}
|
cs |
베타존 : 네이버쇼핑 스마트스토어
나를 꾸미다 - 인테리어소품 베타존
smartstore.naver.com
반응형