문제 풀이/백준
백준 단계별 문제풀이 10818번
춘핑이
2022. 11. 13. 18:20
4. 1차원 배열 10818번 최소, 최대 c언어
문제
N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.
출력
첫째 줄에 주어진 정수 N개의 최솟값과 최댓값을 공백으로 구분해 출력한다.
코드
#include <stdio.h>
int main(void)
{
int N = 0;
scanf_s("%d", &N);
int a = 0;
int min = 1000001;
int max = -1000001;
for (int i = 0; i < N; i++)
{
scanf_s("%d", &a);
if (a > max) //입력값이 max보다 크면 max가 a값이 됨
{
max = a;
}
if (a < min) //입력값이 min보다 작으면 min가 a값이 됨
{
min = a;
}
}
printf("%d %d", min, max);
return 0;
}배열이지만 배열을 사용하지 않고 품
입력값을 계속 비교하여 최댓값보다 크면 최댓값 작으면 최소값에 넣음
범위가 -100000000~100000000이기때문에 이사이 값으로 넣음.
처음에는 if esle if를 사용하였으나 틀림. if 실행 이후 elseif 실행안하는 상황이 있어서 그런것으로 추정.
if문 두번으로 해결하였음.