문제
플레이어는 구름 프로젝트의 일정을 관리하는 PM(프로젝트 매니저)이자 유일한 개발자다. 현재 구름 프로젝트를 완수하기 위해서는 N개의 기능 개발이 추가로 필요하다. 각 기능에는 1번부터 N번까지 번호가 붙어 있고, i번째 기능을 개발하는 데는 ci분의 시간이 걸린다.
플레이어는 프로젝트를 기한 안에 끝내기 위해 철야 작업에 들어갔다. 플레이어가 철야 작업을 시작한 시각은 T시 M분이다. 플레이어는 1번 기능부터 순서대로 개발을 진행하고, 한 기능 개발을 끝마치면 바로 다음 기능의 개발을 시작한다. 플레이어가 모든 기능 개발을 끝마친 시각을 구해보자.
입력
첫째 줄에 필요한 기능의 개수 N이 주어진다.
둘째 줄에 두 정수 T,M이 공백을 두고 주어진다. 이는 현재 시각이 T시 M분임을 의미한다.
다음 N개의 줄에는 정수 ci가 주어진다. i번째 기능을 개발하는 데는 ci분의 시간이 걸린다.
- 1≤N≤100
- 0≤T≤23
- 0≤M≤59
- 0≤ci≤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 |