코딩하는 베어브릭
그리디 문제 #3. 창고 정리 본문
*이 풀이는 인프런: 파이썬 알고리즘 문제풀이 강좌에 기반하였습니다.
내 풀이
1. 상자의 높이를 오름차순으로 정렬한다.
2. 가장 높이가 큰 값은 1 감소시키고, 가장 높이가 작은 값은 1 증가시켜 상자를 이동시켜준다. 이 과정을 m회 반복한다.
import sys
#sys.stdin=open("input.txt","rt")
l=int(input())
heights=list(map(int,input().split()))
m=int(input())
for _ in range(m):
heights.sort()
heights[-1]-=1
heights[0]+=1
heights.sort()
print(heights[-1]-heights[0])
강사님 풀이
import sys
sys.stdin=open("input.txt","rt")
L=int(input())
a=list(map(int,input().split()))
m=int(input())
a.sort()
for _ in range(m):
a[0]+=1
a[L-1]-=1
a.sort()
print(a[L-1]-a[0])
강사님과 거의 비슷하게 풀었다!
'알고리즘 > 인프런: 파이썬 알고리즘 문제풀이' 카테고리의 다른 글
| 그리디 문제 #4. 침몰하는 타이타닉 (0) | 2022.07.05 |
|---|---|
| 그리디 문제 #2. 씨름선수 (0) | 2022.07.05 |
| 그리디 문제 #1. 회의실 배정 (0) | 2022.07.05 |
| 탐색&시뮬레이션 문제 #11. 격자판 회문수 (0) | 2022.06.01 |
| 탐색&시뮬레이션 문제 #10. 스도쿠 검사 (0) | 2022.06.01 |
Comments