코팅테스트/백준 문제 모음
SWEA 1208 파이썬 문제풀이(Flatten)
유지광이
2022. 2. 5. 23:32
728x90
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV139KOaABgCFAYh
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
이문제도 단순한 구현 문제이다. 문제에서 요구한 대로 그대로 구현하면 된다.
for order in range(1, 10 + 1):
dump_count = int(input())
array = list(map(int, input().split()))
for i in range(dump_count):
max_ = max(array) # 최댓값을 저장
min_ = min(array) # 최솟값을 저장
array[array.index(max_)] = max_ - 1 # 최댓값의 인덱스에 최댓값 -1 을 저장해준다.
array[array.index(min_)] = min_ + 1 # 최솟값의 인덱스에 최솟값 -1 을 저장해준다.
new_max_ = max(array) # 새로 계산된 최댓값을 찾는다.
new_min_ = min(array) # 새로 계산된 최솟값을 찾는다.
if new_max_ - new_min_ < 2: # 만약 그 값이 0 혹은 1 이라면
break # 반복문을 탈출한다.
print(f'#{order} {new_max_ - new_min_}') #최댓값 - 최솟값을 출력
728x90