[SWEA 4828].파이썬 sw문제해결 기본 1일차 min max

1 minute read

SW Expert Academy에서 학습용으로 문제를 가져왔습니다. 문제가 될 시 수정, 삭제하겠습니다.

https://swexpertacademy.com/main/main.do

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

input

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

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

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

output

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

예시)

입력
3
5
477162 658880 751280 927930 297191
5
565469 851600 460874 148692 111090
10
784386 279993 982220 996285 614710 992232 195265 359810 919192 158175
출력
#1 630739
#2 740510
#3 838110

이번문제에서 꼭 알아야할 개념으로 max, min 함수에 대한 개념과 for문, list, map, split함수에 대해서 알아야 문제해결이 가능하였다.

import sys
T=int(input()) #테스트 케이스 숫자 입력받기

for test_case in range(1, T+1): #테스트 케이스 입력받은 것만큼 for문을 사용하여 나열하기
    a=int(input()) #b에 몇개의 양수가 들어가는지 정하기
    b=list(map(int,input().split())) #map함수를 사용하여 한줄에 여러개 값 받기
    print("#%d %d" %(test_case, max(b)-min(b)))
    #최종적으로 max와 min함수를 사용해 최대값에서 최소값을 뺀 값 print하기

처음으로 T변수에 테스트 케이스 숫자를 입력받았다.

for 문으로 입력받는 테스트 케이스만큼 몇 번의 횟수를 반복할 수 있는지 나타내어주었다.

임의의 a변수를 만들어 다음으로 들어갈 b리스트에 몇개의 양수값을 받을 수 있는지 지정할 수 있게 하였다.

map은 리스트의 요소를 지정된 함수로 처리해주는 함수이고 split은 나눠주는 역할을 하는데 여러개의 정수를 띄어쓰기로 나눠준다고 보면된다.

최종적으로 최대값에서 최소값을 뺀 값을 print해주면 끝!

Categories:

Updated:

Leave a comment