문제
N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오.
(출처: 10818)
입력
첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.
출력
첫째 줄에 주어진 정수 N개의 최솟값과 최댓값을 공백으로 구분해 출력한다.
예제 입력 1
5
20 10 35 30 7
예제 출력 1
7 35
풀이
- 배열 l의 맨 마지막 원소
l[-1]
- sort() 와 sorted()의 차이
- sort()는 배열의 원소들을 직접 정렬한다. 주의 : None을 반환한다.
- 원 배열을 직접 정렬하고 싶지 않다면 sorted()를 사용하면 된다. sorted()는 반환값이 있다.
- 내장함수 쓰지 않고 구현하는줄 알고 정렬부터 한땀한땀한 후 최댓값, 최솟값구하는 코드도 만들었다.
결과는 시간초과 - 머리 속에서 한땀한땀 구현해본 정렬은 버블 정렬이었다.
- 버블 정렬 : 적은 수의 배열에서 적합. 시간 복잡도 O(n^2)
- 파이썬 내장 sort함수의 시간복잡도는 O(N log N)이라고 한다.
(출처 : Complexity of Python Operations)