BOJ_3649_G4_로봇프로젝트

Chung Lee·2022년 3월 23일
0

알고리즘

목록 보기
3/21

BOJ3649_G4로봇프로젝트
https://www.acmicpc.net/problem/3649

문제에서 요구하는 알고리즘은 이분탐색을 사용해서 필요한 데이터가 존재하는지 찾는 것이지만 PS을 하다보면 이 문제처럼 테스트 케이스의 수를 주지 않는 문제가 있다.

이 문제는 문제의 조건에 맞춰서 결과 출력과 함께 EOF(End of File)를 인식해서 입출력을 멈출 것을 요구한다.

while(true)로 입력이 있으면 진행하고 없으면 대기하는 방식으로는 통과할 수 없다.

java에서 EOF가 들어왔을 때 입력을 그만 받는 방식은 다양하게 있는 듯 한데 그중 접근성이 낮은 것들을 위주로 찾아보았다.

1.Scanner을 사용하는 방법

Scanner s = new Scanner(System.in);
while(s.hasNextInt()){ . . . }
while(s.hasNext()){ . . . }

2-1. BufferedReader 를 사용하는 방법

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String nextString = null;
while((nextString = br.readLine()) != null){ . . . }

2-2. BufferedReader의 ready()메서드를 사용하는 방법

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String nextString = null;
while(br.ready()){ . . . }

작성자 코드 : https://github.com/S2econdBlue/Problem-solving/blob/main/BOJ/BOJ_3649_G4_%EB%A1%9C%EB%B4%87%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8.java

시간단축 코드 :
https://github.com/S2econdBlue/Problem-solving/blob/main/BOJ/BOJ_3649_G4_%EB%A1%9C%EB%B4%87%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8_FASTIO.java

0개의 댓글