이 기사에서는 아래 주어진 문제 설명에 대한 솔루션에 대해 알아볼 것입니다.
문제 설명 − 각각의 시작 및 종료 시간과 함께 n개의 활동이 제공됩니다. 한 사람이 한 번에 하나의 활동에 대해 작업하는 경우 한 사람이 수행할 수 있는 최대 활동 수를 선택해야 합니다.
변수 표기법
N - 총 활동 수
S - 모든 활동의 시작 시간을 포함하는 배열
F - 모든 활동의 완료 시간을 포함하는 배열
이제 아래 구현의 솔루션을 살펴보겠습니다.
# 욕심 많은 접근 방식
예시
# maximum number of activities that can be performed by a single person def Activities(s, f ): n = len(f) print ("The selected activities are:") # The first activity is always selected i = 0 print (i,end=" ") # For rest of the activities for j in range(n): # if start time is greator than or equal to that of previous activity if s[j] >= f[i]: print (j,end=" ") i = j # main s = [1, 2, 0, 3, 2, 4] f = [2, 5, 4, 6, 8, 8] Activities(s, f)
출력
The selected activities are: 0 1
모든 변수는 로컬 범위에서 선언되며 해당 참조는 위 그림과 같습니다.
결론
이 기사에서는 활동 선택 문제를 위한 Python 프로그램을 만드는 방법에 대해 배웠습니다.