문제링크
Note
썸네일만 보고 2단계인줄 알고 풀었지만 풀고보니 1단계였던 문제.
거리 1만큼 이동하는데에 1초의 시간이 걸리는 것이 단서입니다.
총 걸린 시간 = 움직인 거리(=움직인 시간) + 술래 때문에 멈춰있었던 시간 입니다.
움직인 거리는 왕복이니 2d, 술래가 돌아본 횟수 * 돌아봤을 때의 시간(오갈 때 시간이 다른 점 주의)을 구해 풀었습니다.
제출한 코드
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) {
//술래에게 가는 길과 갔다가 돌아오는 길을 나눠서 생각한다.
//가는 길과 돌아오는 길에 술래가 움직이는 횟수를 각각 n,m으로 둔다.
//가는 길에 술래가 앞을 본 시간 = b * n
//돌아오는 길에 술래가 앞을 본 시간 = a * m
//총 시간 = 2d(총 이동하는데에 걸린 시간) + am + bn
//a, b가 d보다 큰 경우 n, m 은 0;
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
int d = sc.nextInt(); //술래와의 거리
sc.close();
int t = 0; //걸린 시간
int n = (d>a)? d / a : 0; //가는 길에 술래가 돌아본 횟수
int m = (d>b)? d / b : 0; //돌아오는 길에 술래가 돌아본 횟수
t = 2 * d + a * m + b * n;
//System.out.println(a + "" + b + "" + d);
System.out.print(t);
}
}
반응형
'코딩테스트 > Java' 카테고리의 다른 글
프로그래머스/자바 lv.2 JadenCase 문자열 만들기 - Stack, String.join() (0) | 2024.03.27 |
---|---|
소프티어/자바 lv.1 [한양대 HCPC 2023] 개표 (0) | 2024.03.26 |
프로그래머스/자바 lv1. 가운데 글자 가져오기 - substring(), length(), 삼항연산자 (0) | 2024.03.25 |