[이코테] 그리디 - 모험가 길드


🔦 문제

모험가 길드장인 동빈이는 모험가 그룹을 안전하게 구성하고자 공포도가 X인 모험가는 반드시 X명 이상으로
구성한 모험가 그룹에 참여해야 여행을 떠날 수 있도록 규정했다.
N명의 모험가에 대한 정보가 주어졌을때, 여행을 떠날 수 있는 그룹 수의 최댓값을 구하라.


입력

2 3 1 2 2

출력

2


✍️ 풀이

  • 공포심 수치를 오름차순으로 정렬해줬다. 높은 공포심을 갖고있으면 그만큼 모험가가 많이 필요하기에 만들어질 그룹 수는 적어질 수 밖에 없다.
  • temp 변수를 0으로 설정 후 배열을 돌아가는동안 1씩 + 해준다. temp가 공포심보다 같거나 커지는 순간 그룹의 수를 하나 늘리고 다시 temp를 0으로 초기화 해주는 식으로 진행하였다.

🛠 나의 코드

n=int(input())
fear = list(map(int,input().split()))

fear = sorted(fear)
temp =0
answer = 0
for i in fear:
    temp+=1
    if temp >= i:
        answer+=1
        temp = 0

print(answer)

🎈 책 정보

이것이 취업을 위한 코딩테스트다 with 파이썬

좋은 웹페이지 즐겨찾기