일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- python
- Spotify Api
- SWEA
- linux
- SECS
- c
- spotify
- spring boot
- 프로그래머스
- C++
- 파이썬
- 회원가입
- SW Expert Academy
- Spring JPA
- Spring
- java
- 회귀
- modern c++
- Baekjoon
- 자바
- 스포티파이
- regression
- Gem
- 백준
- Computer Science
- SECS-II
- SECS/GEM
- programmers
- MYSQL
- CS
Archives
- Today
- Total
비버놀로지
[BAEKJOON 백준] 1157 단어 공부 본문
728x90
알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.
먼저 대소문자가 섞여 있기때문에 모두 대문자로 변경해 준다. 그 이유는 출력이 대문자이기 때문에 대문자로 통일해 주었다.
그리고 알파벳 길이만큼의 배열을 만들고, A=0, B=1 ... 위치로 각각의 갯수를 세어 배열에 넣어준다.
그후 가장 많이 사용된 알파벳을 출력해 주는데, 가장 많은 알파벳이 여러개 라면 ? 를 출력하도록 했다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String s=sc.next().toUpperCase();
int english[]=new int[26];
char arr[]=s.toCharArray();
for (int i = 0; i < arr.length; i++) {
english[arr[i]-'A']++;
}
int result=0;
char resultnum='A';
for (int i = 0; i < 26; i++) {
if(english[i]>result) {
result=english[i];
resultnum=(char) (i+'A');
}
}
int cnt=0;
for (int i = 0; i < 26; i++) {
if(english[i]==result) {
cnt++;
}
}
if(cnt>=2) {
System.out.println("?");
}else {
System.out.println(resultnum);
}
}
}
728x90
'ALGORITM > JAVA' 카테고리의 다른 글
[BAEKJOON 백준] 1236 성 지키기 (0) | 2021.01.10 |
---|---|
[BAEKJOON 백준] 1212 8진수 2진수 (0) | 2021.01.10 |
[BAEKJOON 백준] 1110 더하기 사이클 (0) | 2021.01.10 |
[BAEKJOON 백준] 1074 Z (0) | 2021.01.10 |
[BAEKJOON 백준] 1032 명령 프롬프트 (0) | 2021.01.10 |
Comments