[백준] 타임 카드 (5575)
문제 설명
입력 및 출력
» 입력
- 입력은 3 행으로 구성된다. 첫 번째 줄에는 A 씨의 출근 시간과 퇴근 시간, 두 번째 줄에는 B 씨의 출근 시간과 퇴근 시간, 세 번째 줄에는 C 씨의 출근 시간과 퇴근 시간이 각각 공백으로 구분되어 있다. 시간은 각각 공백으로 구분된 3 개의 정수로 쓰여져있다. 3 개의 정수 h(7 ≦ h ≦ 22), m(0 ≦ m ≦ 59), s(0 ≦ s ≦ 59)는 h시 m 분 s 초를 나타낸다.
» 출력
- 첫 번째 줄에 A 씨의 근무 시간, 두 번째 줄에 B 씨의 근무 시간, 세 번째 줄에 C 씨의 근무 시간을 출력하라. 근무 시간이 h 시간 m 분 s 초이면 h, m, s의 순으로 공백으로 분리하여 출력하라.
예제 입출력(테스트케이스)
입력 | 출력 |
---|---|
9 0 0 18 0 0 9 0 1 18 0 0 12 14 52 12 15 30 |
9 0 0 8 59 59 0 0 38 |
문제 풀이(SWIFT) 1
//
// main.swift
// BOJ5575_SWIFT
//
// Created by choiyoujun on 2022/01/22.
//
for _ in 0...2 {
let time = readLine()!.split(separator: " ").map { Int($0)! }
let ret = timeCalcurator(timeStamp: time)
print(ret.hh, ret.mm, ret.ss)
}
func timeCalcurator(timeStamp: [Int]) -> (hh: Int, mm: Int, ss: Int) {
var ss = timeStamp[5] - timeStamp[2]
var mm = timeStamp[4] - timeStamp[1]
var hh = timeStamp[3] - timeStamp[0]
if ss < 0 {
ss = 60 + ss
mm -= 1
}
if mm < 0 {
mm = 60 + mm
hh -= 1
}
return (hh, mm, ss)
}