Algorithm/SWEA

[SWEA] 1208 Flatten (ํŒŒ์ด์ฌ/python)

chjcoder 2023. 10. 18. 00:12

๐ŸŽˆ๋ฌธ์ œ

https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=2&problemLevel=3&problemLevel=4&contestProbId=AV139KOaABgCFAYh&categoryId=AV139KOaABgCFAYh&categoryType=CODE&problemTitle=&orderBy=INQUERY_COUNT&selectCodeLang=JAVA&select-1=4&pageSize=10&pageIndex=1

 

๐ŸŽ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฐ ์ ‘๊ทผ

๊ตฌํ˜„

๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ํ’€์–ด๋ณด์•˜๋‹ค. 

1. ์ •๋ ฌ

2. index๋กœ ์ ‘๊ทผ

 

๐Ÿ’ป1. ์ •๋ ฌ ์ฝ”๋“œ

# sw 1208 Flatten

for test_case in range(1, 11):
    dump = int(input())
    lst = list(map(int,input().split()))
    lst.sort()
    while dump:  
        lst[-1] -= 1
        lst[0] += 1
        dump -= 1
        if (lst[0]>=lst[1]) or (lst[-1]<lst[-2]):
            lst.sort()

    print(f"#{test_case} {max(lst)-min(lst)}")

๐Ÿ’ป2. index๋กœ ์ ‘๊ทผ

# sw 1208 Flatten

for test_case in range(1, 11):
    dump = int(input())
    lst = list(map(int,input().split()))

    while dump:  
        max_idx = lst.index(max(lst))
        min_idx = lst.index(min(lst))
        lst[max_idx] -= 1
        lst[min_idx] += 1
        dump -= 1
        if lst[max_idx] - lst[min_idx] < 2:
            break

    print(f"#{test_case} {max(lst)-min(lst)}")