♕Bronze Ⅲ
문제
N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.
출력
첫째 줄에 주어진 정수 N개의 최솟값과 최댓값을 공백으로 구분해 출력한다.
C
#include <stdio.h> int main() { int N,num; int min=1000000, max=-1000000; scanf("%d",&N); for(int i=0; i<N; i++){ scanf("%d",&num); if(num < min) min = num; if(num > max) max = num; } printf("%d %d", min, max); return 0; }
배열을 이용하려면 for문 전에 int num[N];선언해주고, for문 내의 num을 모두 num[i]로 바꿔주면 된다.
저런 문제를 보면 항상 배열을 먼저 생각하고는 하는데, 메모리 공간을 불필요하게 많이 사용할수도 있다고 해서 입력값을 받으면서 바로 비교하는 게 좋을 것 같다.