[백준] 타임 카드 (5575)

문제 설명

백준 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)
}

태그:

카테고리:

업데이트: