BackJoon Algorithm 9501 꿍의 우주여행

업데이트:
최대 1 분 소요

BackJoon Algorithm - Java

alt

문제

alt

풀이

  • BufferedReader 클래스를 사용해 보았다.
  • 시간당 최고속도이기때문에 거리 / 최고속도를 하면 가는데까지 걸리는 시간이 나온다.
  • (연료 * 위에 풀이)를 하면 총가는데 쓰는 연료량이 나온다.
  • 총가는데 쓰는 연료량 보다 현재 가지고 있는 연료량이 작으면 가지못한다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Back_9501 {

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        // given
        int T = Integer.parseInt(br.readLine());      // 테스트 카운트 입력
        for(int i=1;i<=T;i++){
            StringTokenizer token = new StringTokenizer(br.readLine());
            int N = Integer.parseInt(token.nextToken());   // 우주선 갯수 입력
            double D = Double.parseDouble(token.nextToken()); // 거리입력
            int count =0;      // 체크 카운트
            for(int j=1;j<=N;j++){
                token = new StringTokenizer(br.readLine());
                double V = Double.parseDouble(token.nextToken()); // 최고속도
                double F = Double.parseDouble(token.nextToken()); // 연료량
                double C = Double.parseDouble(token.nextToken()); // 연료 소비율

                // when
                double arrive = D/V;   // 마지막 까지 가는데 걸리는 시간
                double check = F-(arrive*C);    // 갈수 있는지 없는지 체크
                if(check>=0){
                    count++;
                }
            }
            //then
            System.out.println(count);
            
        }
    }
}

댓글남기기