컴퓨터공학 💻 도서관📚
그리디 유형 문제 . 4 본문
그리디 알고리즘 정당성 분석 :
공포도가 낮은 애부터 그룹으로 만들면 최대가 나오겠다는 아이디어
이를 실현하기 위해 공표도가 낮은 얘들을 먼저 보고 싶으니까
'오름차순 정렬' 테크닉 사용
그룹을 만드는 방법 / 디테일 :
'현재 그룹에 포함된 모험가의 수'가 '현재 확인하고 있는 공포도'보다 크거나 같다면 이를 그룹으로 설정
N = int(input())
data = list(map(int, input().split())) # 한 줄에 여러 개의 정수를 입력받는 방법
data.sort() # 파이썬에서 오름차순 정렬하는 법
count =0 # 초기화
group_num =0
for i in data:
count += 1 # 모든 경우가 다 해야 하는 연산
if count >= i: # if문이 참일 때 하는 연산
group_num += 1
count = 0
# if문이 거짓일 때 하는 연산 : 여기선 아무것도 없다
print(group_num)
for + if 연계 패턴 :
for문 안에서
처음에는 모든 경우에서 수행해야 하는 코드를 적고
특정 경우를 if문이 참일 때 수행하게 하고
나머지 경우에서 수행해야 할 코드를 if문 아래에 적는다
'✅🌲강의 복습 노트 > 이코테2021 알고리즘 훈련' 카테고리의 다른 글
구현 유형 문제 . 2 (0) | 2024.10.20 |
---|---|
구현 유형 설명 . 1 (0) | 2024.10.19 |
그리디 유형 문제 . 3 (0) | 2024.10.18 |
그리디 유형 문제 . 2 (0) | 2024.04.07 |
그리디 알고리즘 . 1 (0) | 2024.04.03 |
Comments