본문 바로가기
[SWEA] 풀이/[SWEA] D3

[SWEA] SWEA 1208번: Flatten 파이썬 풀이 - 알고리즘 코딩 문제 해설 python

by codeomni 2023. 4. 17.
반응형

 

안녕하세요.

이번 포스팅은 SWEA의 1208 문제 풀이입니다.

문제 이름은 "Flatten" 입니다.

 

 

풀이


1
2
3
4
5
6
7
8
9
10
11
for tc in range(10):
    dump = int(input())
    l = list(map(int, input().split()))
    for i in range(dump):
        l_max = max(l)
        l_min = min(l)
        l_max_index = l.index(l_max)
        l_min_index = l.index(l_min)
        l[l_max_index] -= 1
        l[l_min_index] += 1
    print('#%d %d' %((tc+1), max(l)-min(l)))
cs

 

핵심: 리스트로 입력 받아서 최댓값에서 -1, 최솟값에서 +1을 해줍니다.

 

1. 테스트 개수 T를 입력 받습니다.

 

2. 덤프의 수를 입력 받습니다.

 

3. 리스트를 통해 상자의 높이들을 입력 받습니다.

 

4. for문을 통해 덤프의 수만큼 반복합니다.

 

5~6. max(), min() 함수를 통해 리스트의 최대값을 찾습니다.

 

7~8. index() 함수를 통해 리스트의 최댓값과 최솟값의 인덱스를 찾습니다.

 

9~10. 최댓값과 최솟값을 인덱스로 접근해서 연산을 합니다.

 

11. 출력 양식에 맞게 결과값을 출력합니다.

댓글