모험가 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)
가장 공포도 높은 사람 순으로 정렬한 후에 그 사람들을 우선 그룹으로 구성해준다.
배열을 자르는 방법을 이용했다.
'Algorithm > Programmers' 카테고리의 다른 글
[그리디] 문자열 뒤집기 (파이썬) (0) | 2022.07.16 |
---|---|
[그리디] 곱하기 혹은 더하기 (파이썬) (0) | 2022.07.16 |
[그리디] 1이 될 때까지 (파이썬) (0) | 2022.07.16 |
[그리디] 숫자 카드 게임 (파이썬) (0) | 2022.07.16 |
[그리디] 큰 수의 법칙 (파이썬) (0) | 2022.07.16 |