[SWEA] 4828 min max

Yujin Jo·2022년 3월 22일
0

SWEA

목록 보기
6/22
post-thumbnail

문제 출처 : [SWEA] 4828 min max
learn -> course -> programming intermediate -> list1 -> min max

문제

N개의 양의 정수에서 가장 큰 수와 가장 작은 수의 차이를 출력하시오.

입력

첫 줄에 테스트 케이스의 수 T가 주어진다. ( 1 ≤ T ≤ 50 )

각 케이스의 첫 줄에 양수의 개수 N이 주어진다. ( 5 ≤ N ≤ 1000 )

다음 줄에 N개의 양수 ai가 주어진다. ( 1 ≤ ai≤ 1000000 )

출력

각 줄마다 "#T" (T는 테스트 케이스 번호)를 출력한 뒤, 답을 출력한다.

코드

T = int(input())

for tc in range(1, T + 1):
    num = int(input())
    num_list = list(map(int, input().split()))

    # 최대값과 최소값을 리스트의 첫 번째 값으로 생성
    max_num = num_list[0]
    min_num = num_list[0]

    # 리스트의 길이만큼 반복
    for i in range(num):
        # num_list[i] 값이 max_num 보다 크다면 max_num 을 num_list[i] 값으로 바꿔줌
        if max_num < num_list[i]:
            max_num = num_list[i]
        # num_list[i] 값이 min_num 보다 작다면 min_num 을 num_list[i] 값으로 바꿔줌
        if num_list[i] < min_num:
            min_num = num_list[i]

    print(f'#{tc} {max_num - min_num}')

풀이 방법

문제에서 주어진 숫자들을 리스트로 받아온다. 그리고 리스트의 첫번째 값을 최대값과 최소값으로 지정해놓고 리스트를 순회하면서 더 큰 값과 더 작은 값을 만나면 값을 바꿔주는 형식으로 코드를 작성했다.

profile
일단 해보자

0개의 댓글