LIST1. 1일차 - min max

Problem

SWEA min-max

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

Solution

1. 단순 탐색
  - 최댓값과 최솟값을 리스트 안에서 하나씩 비교하며 찾기

2. Bubble sorting 활용
  - 정렬을 통해 처음과 마지막 값으로 최대, 최소 값 찾기

Code

1.  단순 탐색

for test_case in range(1, int(input()) + 1):
    N = int(input())
    arr = list(map(int, input().split()))
     # 단순하게 찾기
     max = 0                    # 최대의 초기값을 0으로 지정
     min = 1000001           # 최소의 초기값을 최대로 지정
     for idx in range(N):
        if arr[idx] > max:
            max = arr[idx]
        if arr[idx] < min:
            min = arr[idx]
     print(f'#{test_case} {max - min}')

 

2.  Bubble sort  활용

# Bubble sort 활용
def bubble_sort(arr, N):
    for last in range(N - 1, 0, -1):
        for idx in range(last):
            if arr[idx] > arr[idx + 1]:
                arr[idx], arr[idx + 1] = arr[idx + 1], arr[idx]
    return arr

for test_case in range(1, int(input()) + 1):
    N = int(input())
    arr = list(map(int, input().split()))
    result = bubble_sort(arr, N)
    print(f'#{test_case} {result[-1] - result[0]}')

<틀리거나 잘못된 부분을 댓글로 알려주세요!>

반응형