본문 바로가기
<알고리즘 문제풀이&연습>/[C++] 백준

[백준 10818] 최소, 최대

by 사용자 BlockDMask 2017. 10. 18.
반응형
  • 안녕하세요. BlockDMask 입니다.

  • 팀 프로젝트를 하느라 정신이 없네요;;

  • 오늘자 문제 풀어보겠습니다.

0. 제목

  • 백준 10818 최소, 최대

  • BOJ 10818 최소, 최대

1. 문제 설명

  • N 개의 정수가 주어집니다.
    그 정수 중에서 최소값과 최대값을 구하여 출력하는 문제입니다.

  • 첫째 줄에 정수의 개수 N (1 <= N <= 1,000,000)이 주어집니다.
    둘째 줄에는 N개의 정수를 공백으로 구분해서 주어집니다.
    입력으로 들어오는 모든 수는
    -1,000,000 보다 크거나 같고
    1,000,000 보다 작거나 같은
     정수 입니다.

  • 첫째 줄에 주어진 정수 N개의 최소값과 최대값을 공백으로 구분해 출력합니다.

2. 풀이 과정

> 입력(Input)

n을 입력 받습니다.


> 알고리즘(Solution) 

입력받는 n의 수 만큼 반복문을 돌면서 

새로 들어온 정수(tmp)와 최소값(ans_min)과 최대값(ans_max)을 비교합니다.

? 연산자를 이용하여 비교하고 true : false 에 맞게 값이 변경 됩니다.


> 출력(Output)

형태에 맞게 출력합니다.

최소값(ans_min)과 최대값(ans_max)를 출력합니다.


3. 소스코드


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
//https://www.acmicpc.net/problem/10818
//BOJ_10818_최소, 최대
 
#include <iostream>
#include <cstdio>
using namespace std;
 
int n;
int ans_max = -1000000//가장 작은 수로 초기화
int ans_min = 1000000;  //가장 큰 수로 초기화
 
void Input(){ cin >> n; }
 
void Solution(){
    int tmp;
    for(int i=0; i<n; i++){
        scanf("%d"&tmp);
        ans_max = (tmp>ans_max) ? tmp : ans_max;
        ans_min = (tmp<ans_min) ? tmp : ans_min;
    }
 
}
 
void Output(){
    cout << ans_min << " " << ans_max << endl;
}
 
int main(void){
    Input();
    Solution();
    Output();
    return 0;
}
cs


4. 인증



문제 출처 - https://www.acmicpc.net/problem/10818

감사합니다.

도움이 되었다면 공감 버튼 한번 부탁드립니다.

반응형

댓글0