리스트에서 가장 큰 값과 가장 작은 값을 찾고
덤프 수 만큼 for문을 돌리면서 가장 큰값이 나오면 -1하고 break 가장 작은 값이 나오면 +1 break
해준 후에 다시 리스트에서 가장 큰값과 가장 작은 값의 차이를 구하였다.
import sys
sys.stdin = open('input.txt')
#리스트에서 가장 큰값
def maxn(lst):
maxNum = lst[0]
for tmp in lst:
if tmp > maxNum:
maxNum = tmp
return maxNum
#리스트에서 가장 작은값.
def minn(lst):
minNum = lst[0]
for tmp in lst:
if tmp < minNum:
minNum = tmp
return minNum
for test in range(1,11):
dumpNum = int(input()) #dump 횟수
lst = list(map(int, input().split()))
for _ in range(dumpNum):
#list에서 최소값을 구해주는 함수에 lst를 넣어서
#최소값 찾음
minNum = minn(lst)
#list에서 최대값을 구해주는 함수에 lst를 넣어서
#최대값 찾음
maxNum = maxn(lst)
for idx, ls in enumerate(lst): ###덤프때 1개뺄것
if ls == maxNum: #lst 에서 maxNum과 같은게 나올 때 -1 해줘서 빼줌
lst[idx] -= 1
break
for idx, ls in enumerate(lst): ###마찬가지로 minNum과 같은게 나올때 +1해서 넣어줌
if ls == minNum:
lst[idx] += 1
break
#모든 덤프를 완료한후 다시. 리스트에서 최대값과 최소값을 찾아 그 차이를 출력.
print(f'#{test} {maxn(lst)-minn(lst)}')
'알고리즘 > SWEA' 카테고리의 다른 글
[swea][파이썬] 13627 .전기버스 (0) | 2022.08.22 |
---|---|
[swea][파이썬] 13626 .구간합 (0) | 2022.08.22 |
[swea][파이썬] 13624 .숫자 카드 (0) | 2022.08.22 |
[swea][파이썬] 13623 .min max (0) | 2022.08.22 |
[swea][파이썬] 1206 .[S/W 문제해결 기본] 1일차 - View (0) | 2022.08.22 |