2699번 - 격자점 컨벡스헐
테스트케이스에 의미 없는 공백 문자가 들어가 있습니다.
입력: 첫째 줄에 테스트 케이스의 개수 P(1 ≤ P ≤ 1000)가 주어진다. 각 테스트 케이스의 첫째 줄에는 집합에 포함된 격자점의 수 N(3 ≤ N ≤ 50)이 주어진다. ...(생략)
에서, 각 테스트 케이스의 첫째 줄에 제시되는 N 에 공백이 포함되어 있습니다.
<코드 시작(Java)>
...(생략)
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
// N을 읽어온다.
Integer.parseInt( br.readLine() );
<코드 끝>
이렇게 한 줄을 문자열로 읽어서 int 형으로 파싱하니, 런타임 오류가 떨어지네요. 아래와 같이 trim()을 해줘야 정상 동작하는 것으로 봐서는 공백이 포함된 것 같습니다.
Integer.parseInt( br.readLine().trim() );
참고로 테스트 케이스의 개수를 알려주는 P의 경우, 불필요한 공백 문자가 포함되지 않아서 trim 없이도 잘 동작합니다. N에만 공백 문자가 들어가 있습니다.
수정했습니다.
댓글을 작성하려면 로그인해야 합니다.
superwisdom 7년 전
테스트케이스에 의미 없는 공백 문자가 들어가 있습니다.
입력: 첫째 줄에 테스트 케이스의 개수 P(1 ≤ P ≤ 1000)가 주어진다. 각 테스트 케이스의 첫째 줄에는 집합에 포함된 격자점의 수 N(3 ≤ N ≤ 50)이 주어진다. ...(생략)
에서, 각 테스트 케이스의 첫째 줄에 제시되는 N 에 공백이 포함되어 있습니다.
<코드 시작(Java)>
...(생략)
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
...(생략)
// N을 읽어온다.
Integer.parseInt( br.readLine() );
...(생략)
<코드 끝>
이렇게 한 줄을 문자열로 읽어서 int 형으로 파싱하니, 런타임 오류가 떨어지네요. 아래와 같이 trim()을 해줘야 정상 동작하는 것으로 봐서는 공백이 포함된 것 같습니다.
Integer.parseInt( br.readLine().trim() );
참고로 테스트 케이스의 개수를 알려주는 P의 경우, 불필요한 공백 문자가 포함되지 않아서 trim 없이도 잘 동작합니다. N에만 공백 문자가 들어가 있습니다.