1) min max 함수를 써서 푸는 방법
T = int(input())
for tc in range( 1, T+1):
n = int(input())
arr = list(map(int, input().split()))
print(f'#{tc} {max(arr)-min(arr)}')
변수만 입력받은 뒤 max, min 함수만 쓰면 되는 간단한 방법
2) sorted 함수 써서 푸는 방법
T = int(input())
for tc in range( 1, T+1):
n = int(input())
arr = list(map(int, input().split()))
arr = sorted(arr, key= lambda x: x)
print(f'#{tc} {arr[-1]-arr[0]}')
sorted로 오름차순 정렬한 array를 다시 arr에 저장한 후,
가장 끝 값(제일 큰 값)에서 가장 작은 값(제일 작은 값)을 빼는 방법
3) 다른 함수 안쓰고 오직 for문만을 써서 푸는 방법
T = int(input())
for j in range(T):
ind_case_n = int(input())
a = list(map(int, input().split()))
result = 0
max_n = 0
min_n = 99999999999
for i in a:
if i > max_n:
max_n = i
if i < min_n:
min_n = i
result = max_n - min_n
print(f'#{j+1} {result}')
for문을 돌면서 max_n, min_n을 계속 대체해주는 방법
max_n의 초기값은 나올 수 있는 가장 작은값보다 작고,
min_n의 초기값은 나올 수 있는 가장 큰 값보다 크게 설정하는게 좋다.
'파이썬 알고리즘' 카테고리의 다른 글
SWEA 13565 전기버스 (0) | 2022.09.07 |
---|---|
SWEA 13569 그래비티 풀이 (1) | 2022.09.07 |
<level: 9> 풀이의 key point들 (0) | 2022.09.06 |
<level: 8.5> 풀이의 key point들 (0) | 2022.09.06 |
<Level: 16> 풀이의 key point들 (0) | 2022.08.24 |