🎯PS

[구름톤 챌린지/Python] Day 2 - 프로젝트 매니징

dmaolon 2023. 8. 15. 14:45

구름톤 챌린지 프로젝트 매니징 파이썬

구름LEVEL

난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다.

level.goorm.io

더보기

❍ 문제

플레이어는 구름 프로젝트의 일정을 관리하는 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 1000$

❍ 출력

구름 프로젝트가 완료된 시각의 시와 분을 공백을 두고 출력하시오. 23시 59분에서 1분이 지난 시각은 0시 0분이다.

❏ 문제 풀이

입력받은 time을 for문이 돌 때마다 바로 반영시켜주는 방식을 사용해주었다. 

❍ Code

import sys

input = sys.stdin.readline

n = int(input())
t, m = map(int, input().split())
for _ in range(n):
	m += int(input())
	t += m // 60
	m %= 60
	if t > 23:
		t %= 24

print(t, m)

 

모두 분으로 변형 후에  1440(24시간)을 나누어 계산해주는 방식도 있다.

❍ Code

import sys

input = sys.stdin.readline

N = int(input())
T, M = map(int, input().split())
c = [int(input()) for _ in range(N)]

time = (T * 60 + M + sum(c)) % 1440
hour = time // 60
minute = time % 60

print(hour, minute)

 
 

반응형