문제
N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.
출력
첫째 줄에 주어진 정수 N개의 최솟값과 최댓값을 공백으로 구분해 출력한다.
Python 코드
방법 1 - 파이썬의 내장 함수 max(), min()을 이용
n = int(input())
m = list(map(int, input().split()))
print(min(l),max(l))
(방법 1을 이용할 경우 배열의 크기를 정해준 이유가 없어지므로 방법 2도 참고)
방법 2
n = int(input())
l = list(map(int, input().split()))
l_min = l[0]
l_max = l[0]
for i in range(n):
if l_min > l[i]:
l_min = l[i]
if l_max < l[i]:
l_max = l[i]
print(l_min, l_max)
풀이
최소와 최대값을 담아 줄 변수 l_min과 l_max를 각각 생성해주고
n의 크기 만큼 반복문을 반복해 주는 과정에서
배열 내의 값과 최대 최소값을 비교하여 값을 업데이트 해준다.
'코딩 > 파이썬' 카테고리의 다른 글
[백준/Python] - 1차원 배열 5597번 / 과제 안 내신 분..? (0) | 2022.12.01 |
---|---|
[백준/Python] - 1차원 배열 2562번 / 최댓값 (0) | 2022.11.30 |
[백준/Python] - 1차원 배열 10871번 / X보다 작은 수 (0) | 2022.11.30 |
[백준/Python] - 반복문 1110번 / 더하기 사이클 (0) | 2022.11.29 |
[백준/Python] - 1차원 배열 10807번 / 개수 세기 (1) | 2022.11.26 |