Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- AI전략게임
- 생일문제
- 가마우지과
- 딥러닝 공부
- structured_array
- 백로과
- 비둘기목
- python3
- 참새목
- Python
- 참새과
- 딥러닝공부
- keras
- 기러기목
- 오리과
- ADsP
- django
- 맑은소리 스피치학원
- 한국의새
- 직박구리과
- 계수정렬
- IBK기업은행 인턴
- 한국의 새
- 솔딱새과
- AI역량평가
- 흰날개해오라기
- 딱다구리과
- SimpleCraft
- Birthday paradox
- 비둘기과
Archives
- Today
- Total
진박사의 일상
[이코테] Greedy 문제 - 1. 모험가 길드 본문
문제 : 공포도가 N인 모험가는 N명 이상의 모험가 그룹에 참여해야 모험을 떠날 수 있다. N명의 공포도가 주어졌을 때 최대로 떠날 수 있는 모험가 그룹의 수를 구하시오.
입력조건 : 첫째줄은 N(1~100000), 둘째줄은 공포수(자연수) 공백 구분
n = int(input())
fear = list(map(int, input().split()))
g_num = 0
fear.sort()
fear = fear[::-1]
group = []
while fear:
if not group: #그룹이 비어있으면
group.append(fear.pop())
if max(group) > len(group): # 최대 공포수가 그룹 인원수보다 클 때
group.append(fear.pop())
else: #최대 공포수가 그룹 인원수보다 작거나 같다면
g_num += 1 #그룹수 증가
group = [] #그룹 초기화
print(g_num)
결과 : input 값을 random으로 넣어서 정답이랑 비교해봄. 맞는듯
'프로그래밍 > 코딩테스트 공부' 카테고리의 다른 글
[이코테] Greedy 문제 - 5. 볼링공 고르기 (0) | 2021.09.06 |
---|---|
[이코테] Greedy 문제 - 4. 만들 수 없는 금액 (0) | 2021.09.05 |
[이코테] Greedy 문제 - 3. 문자열 뒤집기 (0) | 2021.09.05 |
[이코테] Greedy 문제 - 2. 곱하기 혹은 더하기 (0) | 2021.09.05 |
[TIL] 2021.07.16 - SQL 복습 (0) | 2021.07.16 |