jyc4836   2년 전

  1. 입력된 문자열의 소문자를 대문자로 고친다
  2. 문자열을 for문에 넣고 돌려 길이 26인 배열 ab에 각 알파벳의 등장 횟수를 저장한다
  3. 가장 많이 등장한 알파벳의 번호(0~25) most와 가장 많이 등장한 횟수의 알파벳의 갯수 numberOfMost를 각각 선언한다
  4. 지금까지 확인한 알파벳 중 가장 많이 등장한 알파벳의 등장 횟수와 지금 확인 중인 알파벳의 등장 횟수가 같으면 numberOfMost를 1 올리고, 더 많이 등장한 알파벳이라면 numberOfMost를 1로 만든 다음 most를 갱신한다

이런 식으로 코드가 진행됩니다.

지문에서 나오는 Mississipi, zZa, z, baaa는 전부 맞게 출력됩니다. 그 외에도 aassdd, as등 가장 많이 등장한 횟수의 알파벳이 여럿인 경우도 더 해봤는데 틀렸다고 나오네요. 문자열을 저장할 변수 s의 할당 방식 문제는 아닌 것 같은 게 어떤 방식으로 선언해도 차이는 없습니다. 어떤 걸 빼먹었는지 알려주실 수 있는 분 계신가요?

djm03178   2년 전

ab는 char형 배열이라 127개까지밖에 세지 못합니다.

jyc4836   2년 전

헉 strlen(s) 때문에 시간 초과 나던 거 해결해본다고 int에서 줄였었는데 생각을 못 했네요.. 감사합니다!

댓글을 작성하려면 로그인해야 합니다.