slyram06   3년 전

질문글을 봐가며 모든 반례들을 다 입력해보았는데

자꾸 틀렸다고 나옵니다. 도대체 어디에 문제가 있는지 알 수 있을까요?

scvhero   3년 전

https://ideone.com/xBfAc8

여기서 올바른 최빈값은 2 입니다

slyram06   3년 전

주신 상황 잘 봤습니다! 감사합니다

그런데 정리해서 다시 코딩했는데도 틀렸다고 나오네요...

최빈수가 1개인 경우,

최빈수가 여러개인 경우,

최댓값이 여러개인 경우,

최대값이 1개인 경우

입력이 0인경우,

입력이 하나만 주어질 경우,

입력이 모두 같을경우

모든 경우의 수를 생각해봤는데 다 맞게 나옵니다 ㅠㅠㅠ

막상 입력하면 틀렸습니다가 나오네요...

또 어떤 반례 상황이 있는지 여쭤볼 수 있을까요? 

slyram06   3년 전

https://www.acmicpc.net/board/...


이 반례와 같은 경우 아닌가요?

allen246   3년 전

반례고 뭐고 일단 알고리즘 자체가 굳이 필요 없는 부분이 많습니다.

일단 input이라는 변수에 입력을 받고 그 값을 다시 저장해서 input번 반복하는건 굉장히 비효율적인 코드입니다. for(i in 0..br.readline().toInt()-1)로 짜는게 더 효율적입니다.

(물론! 처음 넣고 끝이니까 그렇~게까지 비효율적이진 않죠)

그리고 자바가 아닌 코틀린을 쓰시는 거라면 if문을 너무 많이 쓰지말고 컬렉션의 메서드를 사용하면서 메서드 체이닝을 쓰는게 더 좋습니다

아 참고로, 산술평균의 영어 단어는 everage가 아닌 average입니다 ^^7

화이팅 하세요!

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