백준 2884번 알람시계

시간이 0일때와 1~23일때의 경우. 45분초과일때 45분이하일때 분기를 해서 푸는 경우를 생각해서 풀면된다.
https://www.acmicpc.net/problem/2884

import Foundation
var a = readLine()

if let v = a {
  var array = v.components(separatedBy: " ")
  
  var h = Int(array[0]) ?? 0
  var m = Int(array[1]) ?? 0
  if h == 0 {
    if m >= 45 {
      m -= 45
    } else {
      h = 23
      m += 60 - 45
    }
  } else {
    if m >= 45 {
      m -= 45
    } else {
      h -= 1
      m += 60 - 45
    }
  }
  print("\(h) \(m)")
}

좋은 웹페이지 즐겨찾기