본문 바로가기
코딩테스트 | 백준

[백준 10818 | C++] 최소, 최대_ 배열 순회, 1차원 배열(array loop, for)

by 솨앙 2025. 1. 2.
반응형

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

문제

N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오.

백준_10818_최소_최대

접근 방법

- N이 주어진다 (주어지는 수의 개수) N크기의 배열을 만든다 -> 동적으로 설정
- arr를 순회하며, 더 작은수를 찾을 때 마다 min 업데이트
- arr를 순회하며, 더 큰 수를 찾을 때 마다 max 업데이트

 

정답 코드

#include <iostream>

using namespace std;

int main() {
    int N;
    cin >> N;
    int* arr = new int[N];
    for (int i = 0; i < N ; i++){
        cin >> arr[i];
    }
    int min = arr[0];
    int max = arr[0];
    for (int i = 0; i < N ; i++){
        if(arr[i] < min){
            min = arr[i];
        }else if(arr[i] > max){
            max = arr[i];
        }
    }
    
    cout << min << " "<<max <<endl;
    return 0;
}

 

채점 결과

 

느낀점

앞서 비슷한 문제를 연속적으로 풀다 보니 풀이 시간은 굉장히 짧아졌다
그러나 메모리와 시간이 다른 문제보다 크게 나온 점이 마음에 걸린다
더 빠르게 푸는 솔루션이 있나 찾아볼 것!
반응형