작성일 :

문제 링크

27194번 - Meeting Near the Fountain

설명

시간에 대한 간단한 사칙연산 문제입니다.

문제에서 입력으로 주어지는 정보들을 입력 받은 후

Kira 가 공원 입구까지 도달하는 데 걸리는 시간,
Kira 가 공원 안에서 만남 장소까지 도달하는 데 걸리는 시간을 계산합니다.

이후, Kira 가 출발지부터 만남 장소까지 도달하는 데 걸리는 총 시간을 계산하여,

Kira 가 제 시간에 도착할 수 있으면 0 을,

그렇지 않다면 AnnaKira 를 기다려야 하는 시간을 단위로 반올림하여 출력합니다.


Code

[ C# ]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
namespace Solution {
  class Program {
    static void Main(string[] args) {

      var input = Console.ReadLine()?.Split(' ');
      var n = int.Parse(input![0]);
      var T = int.Parse(input![1]);
      var m = int.Parse(Console.ReadLine()!);
      input  = Console.ReadLine()?.Split(' ');
      var x = int.Parse(input![0]);
      var y = int.Parse(input![1]);

      var timeToPark = (double)m / x;
      var timeInPark = (double)(n - m) / y;
      var totalTime = timeToPark + timeInPark;

      var watingTime = (int)Math.Ceiling((totalTime - 60 * T) / 60);

      if (watingTime > 0) Console.WriteLine(watingTime);
      else Console.WriteLine(0);

    }
  }
}



[ C++ ]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <bits/stdc++.h>

using namespace std;

int main() {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);

  int n, T, m, x, y; cin >> n >> T >> m >> x >> y;

  double timeToPark = m / (double)x,
         timeInPark = (n - m) / (double)y,
         totalTime = timeToPark + timeInPark;

  int watingTime = ceil((totalTime - 60 * T) / 60);

  if (watingTime > 0) cout << watingTime << "\n";
  else cout << 0 << "\n";

  return 0;
}