[SWEA] 1208. [S/W 문제해결 기본] 1일차 - Flatten

야금야금 공부·2023년 4월 28일
0

SWEA

목록 보기
5/43
post-thumbnail

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV139KOaABgCFAYh

문제 풀이1

  • 예전에 제출한 코드
  • 변수를 비효율적으로 사용하였다.
for i in range(10):
    dump = int(input())
 
    H = list(map(int, input().split()))
    max_value = H[0]
    max_idx = 0
 
    min_value = H[0]
    min_idx = 0
 
    for _ in range(dump):

        max_value = max(H)
        min_value = min(H)
        max_idx = H.index(max_value)
        min_idx = H.index(min_value)
 
        H[max_idx] -= 1
        H[min_idx] += 1
 
    result = max(H) - min(H)
    print(f"#{i+1} {result}")

문제 풀이2

import sys
sys.stdin = open("input.txt", "r")

for i in range(1, 11):

    dump = int(input())
    arr = list(map(int, input().split()))
    k = 0
    while k != dump:

        m = max(arr)
        n = min(arr)
        k += 1
        arr[arr.index(n)] += 1
        arr[arr.index(m)] -= 1

    print(f"#{i} {max(arr) - min(arr)}")

0개의 댓글