알고리즘/인프런: 파이썬 알고리즘 문제풀이
그리디 문제 #3. 창고 정리
bearbrick
2022. 7. 5. 19:05
*이 풀이는 인프런: 파이썬 알고리즘 문제풀이 강좌에 기반하였습니다.
내 풀이
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])
강사님과 거의 비슷하게 풀었다!