문제
플레이어는 구름 프로젝트의 일정을 관리하는 PM(프로젝트 매니저)이자 유일한 개발자다. 현재 구름 프로젝트를 완수하기 위해서는 $N$개의 기능 개발이 추가로 필요하다. 각 기능에는 $1$번부터 $N$번까지 번호가 붙어 있고, $i$번째 기능을 개발하는 데는 $c_i$분의 시간이 걸린다.
플레이어는 프로젝트를 기한 안에 끝내기 위해 철야 작업에 들어갔다. 플레이어가 철야 작업을 시작한 시각은 $T$시 $M$분이다. 플레이어는 $1$번 기능부터 순서대로 개발을 진행하고, 한 기능 개발을 끝마치면 바로 다음 기능의 개발을 시작한다. 플레이어가 모든 기능 개발을 끝마친 시각을 구해보자.
입력
첫째 줄에 필요한 기능의 개수 $N$이 주어진다.
둘째 줄에 두 정수 $T, M$이 공백을 두고 주어진다. 이는 현재 시각이 $T$시 $M$분임을 의미한다.
다음 $N$개의 줄에는 정수 $c_i$가 주어진다. $i$번째 기능을 개발하는 데는 $c_i$분의 시간이 걸린다.
- $1 \leq N \leq 100$
- $0 \leq T \leq 23$
- $0 \leq M \leq 59$
- $0 \leq c_i \leq 1\ 000$
출력
구름 프로젝트가 완료된 시각의 시와 분을 공백을 두고 출력하시오. $23$시 $59$분에서 $1$분이 지난 시각은 $0$시 $0$분이다.
문제 접근 방식
간단한 시간 구현 문제로, $60$분이 넘어서 넘어간 만큼 시간에 더해주고, $24$시간이 넘어가면 $0$시간으로 초기화시켜주는 작업만 거치면 된다.
정답 코드
# 프로젝트 매니징
import sys
input = sys.stdin.readline
N = int(input())
T, M = map(int, input().rstrip().split())
for _ in range(N):
ci = int(input())
M += ci
T += (M//60)
T %= 24
M %= 60
print(T, M)
특별히 배운 점
백준에서 실버5짜리 문제들을 풀면서 시간 구현 문제들을 몇번 접했었는데, 이보다 쉬운 것 같아 다행이었다.
파이썬에서 지원하는 날짜 모듈들을 쓰는 어려운 문제들이면 조금 힘들었을지도?
'알고리즘 > 구름톤 챌린지' 카테고리의 다른 글
[구름톤 챌린지] 2주차 6일차 문자열 나누기 (0) | 2023.08.21 |
---|---|
[구름톤 챌린지] 1주차 5일차 이진수 정렬 (0) | 2023.08.19 |
[구름톤 챌린지] 1주차 4일차 완벽한 햄버거 만들기 (0) | 2023.08.19 |
[구름톤 챌린지] 1주차 3일차 합 계산기 (0) | 2023.08.19 |
[구름톤 챌린지] 1주차 1일차 운동 중독 플레이어 (0) | 2023.08.19 |