1157번 - 단어 공부
계속 채점을 시작하마자마 "틀렸습니다"가 나오는데요,
로직의 어느 부분이 잘못되었는지를 모르겠네요.
한번 살펴봐 주시면 감사하겠습니다.
로직은 다음과 같습니다.
입력받은 스트링을 한자씩 잘라서 0~25 까지의 배열(A~Z에 매칭)에 각각의 등장 횟수를 카운트해서 넣습니다.
개수가 들어가있는 배열을 돌면서 가장 큰값이 하나이면 그 값을 출력하고, 둘 이상이면 ?를 출력합니다.
제가 무엇을 놓치고 있을까요?
방금 입력을 읽어오는 부분을 Scanner 에서 Reader 로 수정했더니 맞았습니다가 나오네요.
Scanner 를 쓰는것과 Reader 를 쓰는 부분에서 뭔가 차이가 있나 봅니다.
혹시 어떤 차이가 있는지 알 수 있을까요?
새로 만들어진 Scanner 의 split type 은 line, buffer size는 65536 byte 입니다.
이 설정에서는 (line terminator를 포함한) 한 줄의 길이가 65536 byte 를 넘어가면 입력 데이터를 제대로 처리할 수 없습니다.
sc.Scan() 을 하기 전에 sc.Buffer() 메소드를 이용해서 buffer size 를 재설정할 수 있습니다.
뭔가 입력 길이에 문제가 있을듯 하다는 생각은 했는데 그런 세팅이 있었군요~
정말 감사합니다.
댓글을 작성하려면 로그인해야 합니다.
yottaqube 4년 전
계속 채점을 시작하마자마 "틀렸습니다"가 나오는데요,
로직의 어느 부분이 잘못되었는지를 모르겠네요.
한번 살펴봐 주시면 감사하겠습니다.
로직은 다음과 같습니다.
입력받은 스트링을 한자씩 잘라서 0~25 까지의 배열(A~Z에 매칭)에 각각의 등장 횟수를 카운트해서 넣습니다.
개수가 들어가있는 배열을 돌면서 가장 큰값이 하나이면 그 값을 출력하고, 둘 이상이면 ?를 출력합니다.
제가 무엇을 놓치고 있을까요?