728x90
문제
입력
첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다.
둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다.
모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.
출력
첫째 줄에 주어진 정수 N개의 최솟값과 최댓값을 공백으로 구분해 출력한다.
예제 입력 1
5
20 10 35 30 7
예제 출력 1
7 35
문제 풀이
N = int(input())
L = list(map(int,input().split()))
print(min(L), max(L))
둘째 줄에 주어지는 N개의 정수를 리스트로 입력 받으면 간단하게 풀 수 있는 문제입니다.
다만, 주어진 N을 활용하지 못하기에 출제 의도에 부합하지 않는 것 같아 아래와 같이 추가로 풀어보았습니다.
N = int(input())
L = list(map(int,input().split()))
L.sort()
print(L[0], L[N-1])
동일하게 리스트로 입력받은 후 오름차순으로 정렬하여 최소, 최대값을 출력했습니다.
오름차순으로 정렬하기 위해 사용된 sort 함수는 sorted로 대체 가능합니다.
1. sort()
List.sort()
리스트 자료형에만 사용 가능합니다.
원본을 정렬합니다.
2. sorted()
sorted(List)
iterable한 객체에 사용 가능합니다.
원본을 정렬하는 것이 아닌 객체를 정렬한 후 리스트로 반환합니다.
저처럼 파이썬을 독학하시는 분들에게 도움이 되길 바라며,
혹 더 좋은 방법이 있거나 오류가 있다면 편하게 말씀 부탁드립니다.
728x90