1개의 댓글이 있습니다.
-
-
hyunhwan -
- 알고리즘 부분에 대해서는 크게 문제 없습니다.
- 입력 처리의 경우 별개의
Scanner
를 사용하셨는데, 이 부분이 문제가 있어보입니다. - 아마
nextInt()
를 사용하시고 그 다음에nextLine()
할 때 입력이 안들어가서 별개의Scanner
를 사용하신 것 같은데,sc
를 양쪽에 도무 이용하되,nextInt()
다음과nextLine()
을 통해arr
에 입력을 넣는 사이에 의무적으로nextLine()
을 한번 더 호출하시면 문제가 해결 될 것입니다. - 왜 이렇게 되는지 설명을 하자면,
nextInt()
와 같은 숫자 입력을 받는 메소드의 경우에는 입력을 받다가 공백 문자등의 해당 자료형의 패턴을 벗어나는 입력이 들어갈 경우 해당 문자를 입력 스트림의 버퍼에 남겨두고 읽어들인 값을 반환하게 됩니다. 이 경우에는\n
값이 남아있게 되는건데,nextLine()
을 호출하면 이 함수는\n
이 받아질 때까지 입력을 받게되어, 따라서 테스트 케이스 다음의 입력이 무시되는 현상이 발생하게 되는 것입니다.
8년 전 link
-
-
정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.
upshoot
아래 코드로 제출을 했는데 런타임 오류가 발생해서 질문드립니다.
다양한 테스트케이스로 테스트를 해봤는데 어디에서 문제가 발생하는지 모르겠습니다.
어느 부분을 확인해보면 좋을까요?
8년 전