728x90
반응형
모험가 길드
난이도 : 下 풀이 시간 : 30분
시간 제한 : 1초 메모리 제한 : 128 MB
해답
n = int(input())
horror = list(map(int, input().split()))
horror.sort()
count, result = 0, 0
for i in horror:
count = count + 1
if count >= i:
result = result + 1
count = 0
print(result)
예시
n = int(input())
data = list(map(int, input().split()))
data.sort()
result = 0 # 총 그룹의 수
count = 0 # 현재 그룹에 포함된 모험가의 수
for i in data: # 공포도를 낮은 것부터 하나씩 확인하며
count += 1 # 현재 그룹에 해당 모험가를 포함시키기
if count >= i: # 현재 그룹에 포함된 모험가의 수가 현재의 공포도 이상이라면, 그룹 결성
result += 1 # 총 그룹의 수 증가시키기
count = 0 # 현재 그룹에 포함된 모험가의 수 초기화
print(result) # 총 그룹의 수 출력
해설
공포도를 오름차순으로 정렬한 뒤, 차례대로 그룹에 포함시키면 되는 문제입니다.
count가 i 이상이라면 result를 증가시킨다는 아이디어만 떠올리면 쉽게 해결할 수 있습니다.
728x90
반응형
'알고리즘 (Python) > 이것이 코딩 테스트다 with 파이썬' 카테고리의 다른 글
[그리디 알고리즘] 문자열 뒤집기 - 파이썬(python) (0) | 2021.08.04 |
---|---|
[그리디 알고리즘] 곱하기 혹은 더하기 - 파이썬(python) (0) | 2021.07.27 |
[그래프 이론 알고리즘] 커리큘럼 - 파이썬(python) (0) | 2021.07.20 |
[그래프 이론 알고리즘] 도시 분할 계획 - 파이썬(python) (0) | 2021.07.20 |
[그래프 이론 알고리즘] 팀 결성 - 파이썬(python) (0) | 2021.07.19 |