본문 바로가기
Algorithm/Programmers

[그리디] 모험가 길드 (파이썬)

by 그랴 2022. 7. 16.

모험가 N명

공포도 X

공포도 X인 모험가 -> X명 이상인 그룹에 참가

최대 몇개의 그룹? (모든 모험가를 특정한 그룹에 넣을 필요는 없음)


#모험가 수
n = int(input())
#각 모험가의 공포도
x = list(map(int, input().split()))

#가장 공포도 높은 사람부터 그룹 구성
#공포도 높은 순으로 정렬
x.sort(reverse=True)

#그룹 수
group = 0
i = 0

print(x)

while x[i] <= len(x):
  x = x[x[i]:]
  group += 1
  print(x, group)
  if len(x)==0: break


print(group)

가장 공포도 높은 사람 순으로 정렬한 후에 그 사람들을 우선 그룹으로 구성해준다.

배열을 자르는 방법을 이용했다.