반응형
    
    
    
  문제

풀이
먼저 각각의 알파벳이 나온 빈도수를 체크하기 위해 alpha[ ] 배열을 만들어주었습니다.
입력받은 str을 한 글자씩 잘라 보면서 alpha 배열에 카운트를 1씩 증가시켜주어 몇 번 등장했는지 알 수 있도록 해주었습니다.
카운팅을 완료한 이후 max와 max_idx를 만들어 max는 가장 높은 빈도수, idx는 max값일 때의 문자를 기록하기 위해
두 변수를 사용했습니다.
추가적으로 max값이 똑같을 경우, ? 를 출력해주어야 하기 때문에 이를 구분하기 위한 flag 변수를 만들었습니다.
새로운 max값이 등장할 때 if문 안에서 flag를 false로 초기화해주었고,
만약 똑같은 max 값이 발생한다면 flag를 true로 바꿔 그 경우에는 결과값? 를 출력해주었습니다.
코드

출처
https://www.acmicpc.net/problem/1157
1157번: 단어 공부
알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.
www.acmicpc.net
반응형
    
    
    
  '알고리즘 연습' 카테고리의 다른 글
| [ SWEA ] 1868. 파핑파핑 지뢰찾기 _ JAVA 문제풀이 (1) | 2019.10.16 | 
|---|---|
| [ 백준_BOJ ] 1717. 집합의 표현 _ JAVA 문제풀이 (0) | 2019.10.16 | 
| [ 수학 ] 최대공약수와 최소공배수 연습하기 JAVA (0) | 2019.10.16 | 
| [SWEA] 2046. 스탬프 찍기 문제풀이 JAVA (0) | 2019.10.09 | 
| [SWEA] 1933. 간단한 N의 약수 문제풀이 JAVA (0) | 2019.10.09 | 
 너구리의 코딩 블로그
                  너구리의 코딩 블로그