Algorithms/BOJ[Java]

[백준/17248번] 물리 공부 [2019 전북대학교 프로그래밍 경진대회]

Blue___ 2020. 2. 5. 00:00

문제

전북대학교 컴퓨터공학부 신입생인 시현이는 공대 필수 교양인 기초물리를 수강중이다.

공부를 열심히 하는 시현이는 물리 문제집를 풀다가 다음과 같은 문제를 만났다.

평소 물리를 좋아하던 시현이는 ㄱ, ㄴ번은 단숨에 알았지만, ㄷ번을 풀 수 없어 절망에 빠져 있다.

절망에 빠져있는 시현이를 도와주도록 하자.

입력

첫째 줄에 테스트케이스 T를 입력한다. (1 ≤ T ≤ 100)

다음 줄부터 각 테스트케이스마다 자동차 A와 자동차 B의 속력 X, Y, 그리고 자동차 A의 가속도 Z가 주어진다. (각각의 입력은 띄어쓰기로 구분한다.)

단, 0 ≤ X < Y ≤ 10,000이고, 0 < Z ≤ 10,000이다. 

출력

각 테스트케이스마다 자동차 A가 자동차 B와 속력이 같거나 커지는 시간(초)을 출력한다.

 

A 자동차는 20m/s로, B 자동차는 60m/s로 달리고 있을 때

A의 속도가 크기 2의 가속도에 의해 1초에 22m/s, 2초에 26m/s, 3초에 32m/s ... 로 증가 하게 되어서 A의 속도가 6초에 62m/s가 된다.

 


풀이

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package Practice;
 
import java.io.*;
import java.util.*;
 
public class Main {
   public static void main(String[] args) throws Exception{
      BufferedReader br= new BufferedReader(new InputStreamReader(System.in));
      int n=Integer.parseInt(br.readLine()); //n 대입
      int cnt=0;
      for(int i=0;i<n;i++) {      
         StringTokenizer st = new StringTokenizer(br.readLine());         
         int A=Integer.parseInt(st.nextToken());
         int B=Integer.parseInt(st.nextToken());
         int Z=Integer.parseInt(st.nextToken());//변수 대입
         int temp=0;
         int result=0;
         while(true) {
            temp+=Z;
            result=A+=temp;
            if(result>=B) {
               cnt++;
               break;
            }
            else {
               cnt++;
            }
         }
         System.out.println(cnt);
         cnt=0;
      }      
   }
}
 
 
 

https://www.acmicpc.net/problem/17248

 

17248번: 물리 공부

A 자동차는 20m/s로, B 자동차는 60m/s로 달리고 있을 때 A의 속도가 크기 2의 가속도에 의해 1초에 22m/s, 2초에 26m/s, 3초에 32m/s ... 로 증가 하게 되어서 A의 속도가 6초에 62m/s가 된다.

www.acmicpc.net

 

반응형