알고리즘/백준

백준 1157 단어 공부 - JAVA

놀이방사장님 2023. 8. 19. 00:00
728x90
반응형

안녕하세요 놀이방 사장입니다.

 

이번 포스팅은 백준 1157

단어공부 - JAVA입니다.

 

 

1157번: 단어 공부

알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.

www.acmicpc.net

이 문제는 문자열을 받아서 가장 많이 된 알파벳을 찾는 것인데

대소문자를 구분하지 않고 찾아야합니다.

 

저는 문자열을 받아서 먼저 대문자로 반환해야하기 때문에 대문자로 변환해줬습니다.

toUpperCase()

그 후 알파벳 숫자만큼 배열을 선언해줍니다.

 

문자열 만큼 for을 돌리고 아스키 코드를 이용해 알파벳이 있을 경우 해당 알파벳 순서에 값을 ++ 해줍니다.

그 다음 가장 많이 사용된 알파벳과 몇개 있는지 max_seq와 max에 담아줍니다.

 

그리고 많이 사용된 알파벳이 여러개 존재할 경우 ? 출력해야하기 때문에

max_seq+1 부터 max랑 같은 값이 있는지 확인하고 check 변수를 선언해 있으면 1을 반환합니다.

 

출력부분에서

check가 1일 경우 가장 많이 사용된 문자가 2개이기때문에

? 반환

아닐 시 max_seq반환 => 아스키코드로 보여줘야하니깐 숫자 65를 더하고 char형으로 변환해주면 됩니다.!

반응형