작성일 :

문제 링크

29863번 - Arno’s Sleep Schedule

설명

취침 시각과 알람 시각이 24시간제로 주어질 때, 총 수면 시간을 계산하는 문제입니다.


자정을 넘어갈 수 있으므로 이를 고려해야 합니다.


접근법

알람 시각이 취침 시각보다 크거나 같으면 같은 날이므로 단순히 차이를 구합니다. 그렇지 않으면 자정을 넘긴 것이므로 24에서 취침 시각을 빼고 알람 시각을 더합니다.


Code

C#

1
2
3
4
5
6
7
8
9
10
11
using System;

class Program {
  static void Main() {
    var bed = int.Parse(Console.ReadLine()!);
    var alarm = int.Parse(Console.ReadLine()!);

    var sleep = (alarm >= bed) ? (alarm - bed) : (24 - bed + alarm);
    Console.WriteLine(sleep);
  }
}

C++

1
2
3
4
5
6
7
8
9
10
11
12
13
#include <bits/stdc++.h>
using namespace std;

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

  int bed, alarm; cin >> bed >> alarm;
  int sleep = (alarm >= bed) ? (alarm - bed) : (24 - bed + alarm);
  cout << sleep << "\n";

  return 0;
}

Tags: 29863, arithmetic, BOJ, C#, C++, 백준, 수학, 알고리즘

Categories: ,