[백준 BOJ] 10818번 최소, 최대 (C언어)

2022. 2. 6. 16:48PS (Program Solving)/BOJ (백준)

문제 설명

https://www.acmicpc.net/problem/10818

 

10818번: 최소, 최대

첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.

www.acmicpc.net

백준 BOJ 10818번 최소, 최대 문제 사진

 

접근 방법 - 최댓값, 최솟값 연산의 기본 문제

백준의 10818번 문제는 최댓값, 최솟값 연산의 기본적인 문제이다.

해당 문제는, 입력받은 숫자들에 대해 최솟값과 최댓값을 구하여 순차적으로 출력해야 하는 문제이다.

필자는 각 정답을 저장하는 변수를 하나씩 만들어 반복문을 통해 해당 문제를 해결하였다.

필자는 아래의 순서대로 코드를 작성하여 문제를 해결하였다.

추가로, 위와 같은 문제를 풀 때엔 입력되는 숫자들의 범위를 참고하면서 푸는 것이 좋다.

 

코드의 실행 순서

1) 입력받을 숫자의 개수(n)를 입력받는다.

 

2) max와 min을 아래의 값으로 초기화하며 선언한다.

(문제에 명시된 입력값들의 최대 범위 및 최소 범위를 참고하여 값을 초기화하였다.)

 

3) 반복문으로 입력값들을 하나씩 받으며, 아래의 연산을 취한다.

- 입력된 값이 max보다 크다면, max에 해당 값을 저장한다.

- 입력된 값이 min보다 작다면, min에 해당 값을 저장한다.

 

4) 최종적으로 저장된 min과 max를 순차적으로 출력한 뒤, 실행 종료한다.

반응형

 

성공한 코드

#define _CRT_SECURE_NO_WARNINGS
#pragma warning(disable: 4996)
#include <stdio.h>

//백준 10818번 코드
int main() {
	int n;
	scanf("%d", &n);

	int a;
	int min = 1000000;
	int max = -1000000;
	for (int i = 0; i < n; i++) {
		scanf("%d", &a);
		if (max < a) { max = a; }
		if (min > a) { min = a; }
	}

	printf("%d %d", min, max);
}

 

제출 결과

백준 BOJ 10818번 최소, 최대 문제 C 제출 결과

(2021.12.15 백준 10818번 문제 제출 결과)

반응형