BOJ | 10818번

송치헌·2021년 6월 14일
0
post-thumbnail

Python 풀이

import sys

N = int(input())

num = list(map(int,sys.stdin.readline().split()))
print(min(num),max(num)) #리스트 num의 최소값, 최대값 출력

min(num) 은 리스트 num에서 최소값을 반환하고 max(num)은 최대값을 반환하는 함수이다.

C++ 풀이

풀이 1.

#include <iostream>

using namespace std;

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    int N,x;
    cin >> N;
    int min, max;
    for (int i = 0; i < N; i++) {
    	cin >> x;
    	if (i == 0) min = max = x;
    	else {
    		if (min > x) min = x;
    		if (max < x) max = x;
    	}
    }
    cout << min << " " << max;
}

for문과 if문을 통해 따로 리스트를 만들지 않고 가장 처음 입력받는 x값을 최소(min), 최대(max)로 설정하고 새로운 입력이 들어올 때마다 그 값이 min보다 작으면 min을 새로 들어온 x값으로 할당, max보다 크면 max를 새로 들어온 x값으로 할당하면서 입력이 끝날 때까지 min, max값을 최신화해준다.

풀이 2.

#include <iostream>
#include <algorithm>

using namespace std;

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);

    int N, X;
    cin >> N;
    int tmp = N;
    int *numList = new int[N];
    while (tmp--) {
    	cin >> numList[tmp];
    }
    cout << *min_element(numList, numList + N) << ' ' << *max_element(numList, numList + N);
}

numList라는 리스트를 동적 할당으로 생성해 주고 min_elementmax_element 라는 최소, 최대값을 반환하는 함수로 문제를 해결해 주면 된다. 두 함수는 <algorithm>이라는 헤더 파일 안에 들어있다. 여기서 min_element, max_element는 값을 반환하는 것이 아니라 그 값의 주소값을 반환하기 때문에 *를 앞에 붙여서 출력하면 된다.

profile
https://oraange.tistory.com/ 여기에도 많이 놀러와 주세요

0개의 댓글