반응형

@notepad_jj2

츄르사려고 코딩하는 코집사입니다.


1. [백준 알고리즘] 백준 5575번 타임 카드 파이썬(Python)

1) 문제번호 : 5575번

 

2) 문제 출처

https://www.acmicpc.net/problem/5575

 

5575번: 타임 카드

JOI 상사는 직원의 근무시간을 타임 카드로 관리하고있다. 직원들은 전용 장비를 사용하여 타임 카드에 출근 시간을 기록한다. 근무를 마치고 퇴근할 때도 타임 카드에 퇴근 시간을 기록한다.

www.acmicpc.net

 

2. 문제

JOI 상사는 직원의 근무시간을 타임 카드로 관리하고있다. 직원들은 전용 장비를 사용하여 타임 카드에 출근 시간을 기록한다. 근무를 마치고 퇴근할 때도 타임 카드에 퇴근 시간을 기록한다. 타임카드에서 사용하는 시간단위는 24 시간제를 사용한다.

보안상의 이유로 직원들의 출근 시간은 7시 이후이다. 또한, 모든 직원은 23시 이전에 퇴근한다. 직원의 퇴근 시간은 항상 출근 시간보다 늦다.

입력으로 JOI 상사의 3 명의 직원 A 씨, B 씨, C 씨의 출근 시간과 퇴근 시간이 주어 졌을 때 각 직원의 근무시간을 계산하는 프로그램을 작성하라.

 

3. 제약사항

 

4. 입력

입력은 3 행으로 구성된다.

첫 번째 줄에는 A 씨의 출근 시간과 퇴근 시간,

두 번째 줄에는 B 씨의 출근 시간과 퇴근 시간,

세 번째 줄에는 C 씨의 출근 시간과 퇴근 시간이 각각 공백으로 구분되어 있다.

시간은 각각 공백으로 구분된 3 개의 정수로 쓰여져있다.

3 개의 정수 h(7 ≦ h ≦ 22), m(0 ≦ m ≦ 59), s(0 ≦ s ≦ 59)는 h시 m 분 s 초를 나타낸다.

 

 

5. 출력

첫 번째 줄에 A 씨의 근무 시간,

두 번째 줄에 B 씨의 근무 시간,

세 번째 줄에 C 씨의 근무 시간을 출력하라.

근무 시간이 h 시간 m 분 s 초이면 h, m, s의 순으로 공백으로 분리하여 출력하라.

 

6. 풀이

- 출근 시간과 퇴근 시간의 초를 구하고, 퇴근 시간에서 출근 시간의 초를 빼서 남는 초를 가지고 3600으로 나눈 몫들과 나머지를 출력하면 된다.

 

7. 소스 코드

import sys
input=sys.stdin.readline

inputList = []

for i in range(3) :
    inputList = list(map(int, input().split()))
    sec1 = 0
    sec2 = 0

    sec1 += inputList[0] * 3600
    sec1 += inputList[1] * 60
    sec1 += inputList[2]

    sec2 += inputList[3] * 3600
    sec2 += inputList[4] * 60
    sec2 += inputList[5]

    result = sec2 - sec1

    h = int(result // 3600)
    m = int((result % 3600) / 60)
    s = int((result % 3600) % 60)
    print(h, m, s)

 


 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기