입력에는 문제가 없습니다. EOF를 만나면 BufferedReader.readLine()이 null을 반환하기 때문에 26번째 줄은 올바른 탈출법입니다.
틀린 부분은 정렬입니다.
ab
1371번 - 가장 많은 글자
26번째 라인에 보면, 저는 "".equals(line) 이라는 코드를 넣었는데 저 부분을 제거해주고
단순하게 if (line == null) break; 로 하였습니다. 추가로 75번째 라인을 살펴보면,
return String.valueOf(charCount.c).compareTo(String.valueOf(this.c)); 라고 저는 하였는데 저 부분은 사실상 내림차순의 형태입니다.
문자는 알파벳순으로 출력해야하기 때문에 오름차순으로 바꾸어주어야 해서 아래와 같이 수정해주어야 합니다.
return String.valueOf(this.c).compareTo(String.valueOf(charCount.c)); compareTo 하는 내부 파라미터의 앞 뒤가 변경되어야 합니다.
1) if(line == null)
2) this.c <--> charCount.c
전 이렇게 수정하니 해결하였습니다.
댓글을 작성하려면 로그인해야 합니다.
doubler 3년 전
우선적으로 문제를 입력받는 경우, 저는 아래와 같은 경우로 씁니다만 끝나는 시점이 정확히 어떻게 끝내야 하는지 잘 모르곘군요. ㅠㅠ
한줄씩 입력받는 것이 아닌 문장이 끝나는 시점에서 출력이 나타나야 하는데
제 코드는 입력을 다하고 나서 이후에 엔터를 한번 더 입력해야 결과가 나옵니다.. 조언좀 주시면 감사하겠습니다.