rlawnghdud   2년 전

정말 찾다찾다 안되서 올립니다. ㅜㅜ

아래와 같은 경우는 다 맞게 나오는데 또 다른 반례가 있을까요?

고수님들 도와주세요!

1. zz

2. za

3. zaZa

4. zZza

5. z

slah007   2년 전

대문자로 변환하기 전에 sort를 하게 되면 A~Z < a~z 이므로 aDd와 같은 문자열이 Dad로 정렬됩니다. 예를 들어 aaaaDDDDd -> ?가 나옵니다. 모두 toUpper를 적용한 뒤 정렬하면 될 것 같습니다.

또한, 코드가 너무 복잡한 편입니다. 반례를 찾을 때마다 코드를 조금씩 바꾸는 것보다 반례가 없는 작동 방식을 구성하도록 노력하고 그대로 작동하도록 어떻게 구현할지 생각하는 것이 좋습니다. 문제가 어려워질수록 가장 단순한 풀이로 구성하는 연습이 필요합니다. 예를 들어 지금 같은 문제는 다음과 같이 구현하면 됩니다.

1. 모든 알파벳을 대문자로 변환

2. A~Z가 각각 몇 번 나오는지 세기 (count를 배열로 만들어 저장) (1,2를 동시에 해도 됩니다)

3. A~Z의 나오는 횟수 중 최댓값 찾기. 이를 M이라 합시다.

4. A~Z 중 M회 나오는 알파벳의 수 찾기. 이를 C라 합시다.

5. C==1이면 M회 나오는 알파벳 출력, 아니면 ? 출력

rlawnghdud   2년 전

친절한 답변 감사합니다.

소문자 대문자가 저렇게 정렬이 되는군요 ㅜ

말씀해주신 순서대로 한번 다시 해보겠습니다! 

귀한 시간 내서 피드백 해주셔서 정말정말 감사드립니다 :)

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