import sys N = int(input()) num = list(map(int,sys.stdin.readline().split())) print(min(num),max(num)) #리스트 num의 최소값, 최대값 출력
min(num)
은 리스트 num
에서 최소값을 반환하고 max(num)
은 최대값을 반환하는 함수이다.
#include <iostream> using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); int N,x; cin >> N; int min, max; for (int i = 0; i < N; i++) { cin >> x; if (i == 0) min = max = x; else { if (min > x) min = x; if (max < x) max = x; } } cout << min << " " << max; }
for문과 if문을 통해 따로 리스트를 만들지 않고 가장 처음 입력받는 x
값을 최소(min
), 최대(max
)로 설정하고 새로운 입력이 들어올 때마다 그 값이 min
보다 작으면 min
을 새로 들어온 x
값으로 할당, max
보다 크면 max
를 새로 들어온 x
값으로 할당하면서 입력이 끝날 때까지 min, max
값을 최신화해준다.
#include <iostream> #include <algorithm> using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); int N, X; cin >> N; int tmp = N; int *numList = new int[N]; while (tmp--) { cin >> numList[tmp]; } cout << *min_element(numList, numList + N) << ' ' << *max_element(numList, numList + N); }
numList
라는 리스트를 동적 할당으로 생성해 주고 min_element
와 max_element
라는 최소, 최대값을 반환하는 함수로 문제를 해결해 주면 된다. 두 함수는 <algorithm>
이라는 헤더 파일 안에 들어있다. 여기서 min_element, max_element
는 값을 반환하는 것이 아니라 그 값의 주소값을 반환하기 때문에 *
를 앞에 붙여서 출력하면 된다.