반응형
Notice
Recent Posts
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

500error

[COS Pro 2급, Python] 5차 2번 : 공강시간 구하기 본문

알고리즘/파이썬

[COS Pro 2급, Python] 5차 2번 : 공강시간 구하기

Internal Server Error 2024. 1. 8. 20:08
반응형

문제

공강이란 수업 시간 사이에 수업이 없이 비는 시간입니다. 시간표가 주어질 때 공강은 총 몇 시간인지 구하려 합니다. 시간표 상에 수업이 있는 시간은 1로, 수업이 없는 시간은 0으로 표시합니다. 모든 수업은 정각에 시작해 1시간 뒤에 끝납니다.
 
예를 들어, 위 시간표에서 공강은 총 3시간입니다.
공강이 총 몇 시간인지 구하기 위해 다음과 같이 프로그램 구조를 작성했습니다.

1. 가장 첫 수업 시작 시각을 구합니다.
2. 가장 마지막 수업 시작 시각을 구합니다.
3. 1과 2사이에서 수업이 없는 시간을 셉니다.
 
시간표를 표현한 배열 time_table, 배열 time_table의 길이 time_table_len이 매개변수로 주어질 때 공강은 총 몇 시간인지 return 하도록 solution 함수를 작성하려 합니다. 위 구조를 참고하여 코드가 올바르게 동작할 수 있도록 빈칸에 주어진 func_a, func_b, func_c 함수와 매개변수를 알맞게 채워주세요.

 

 

 

 

 

 

 

 

 

 

code

def func_a(time_table):
	answer = 0
	for i, t in reversed(list(enumerate(time_table))):
		if t == 1:
			answer = i
			break
	return answer

def func_b(time_table, class1, class2):
	answer = 0
	for i in range(class1, class2):
		if time_table[i] == 0:
			answer += 1
	return answer

def func_c(time_table):
	answer = 0
	for i, t in enumerate(time_table):
		if t == 1:
			answer = i
			break
	return answer
    
    
    
def solution(time_table):
	answer = 0
	first_class = func_c(time_table)
	last_class = func_a(time_table)
	answer = func_b(time_table, first_class, last_class)
	return answer
    
    
time_table = [1, 1, 0, 0, 1, 0, 1, 0, 0, 0]
ret = solution(time_table)

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