philaphillip

[COS Pro 2급, Python] 5차 10번 : 가장 오래 일한 사람을 구해 주세요. 본문

알고리즘/파이썬

[COS Pro 2급, Python] 5차 10번 : 가장 오래 일한 사람을 구해 주세요.

잡식블로그 2024. 1. 9. 19:28
반응형

문제

n명이 시간표에 따라 교대 근무에 들어갑니다. 이때 가장 오래 일한 사람이 몇 시간 일했는지 알아내려 합니다. 근무 순번은 첫 번째 사람부터 n번째 사람 순으로 합니다. n번 사람이 일을 한 뒤에는 다시 첫 번째 사람부터 일을 합니다.
예를 들어 시간표가 [1, 5, 1, 9]이고 n이 3이면 첫 번째 사람은 1+9시간, 두 번째 사람은 5시간, 세 번째 사람은 1시간 근무합니다. 따라서 첫 번째 사람이 가장 오래 일했으며, 10시간 일했습니다.
근무 시간표를 담은 배열 time_table, 배열 time_table의 길이 time_table_len, 사람 수 n이 매개변수로 주어질 때, 가장 오래 일한 사람은 몇 시간 일했는지 return 하도록 solution 함수를 작성해주세요.
 
 

 

 

 

 

 

 

 

 

 

 

code

def solution(time_table, n):
	answer = 0
	answer = []
	for i in range(len(time_table)):
		temp = 0
		while i < len(time_table):
			temp += time_table[i]
			i += n
		answer.append(temp)
	
	answer = max(answer)
	return answer
    
    
    
time_table1 = [1, 5, 1, 9]
n1 = 3
ret1 = solution(time_table1, n1)

print("solution 함수의 반환 값은", ret1, "입니다.")

time_table2 = [4, 8, 2, 5, 4, 6, 7]
n2 = 4
ret2 = solution(time_table2, n2)

print("solution 함수의 반환 값은", ret2, "입니다.")
반응형
Comments