728x90
https://www.acmicpc.net/problem/10818
문제 설명
풀이 과정
- 나의 풀이
① 문제 바라보기
'어 뭐야? 그냥 버블정렬을 이용하여 오름차순으로 정렬한 뒤 0번째 인덱스 요소와 마지막 인덱스 요소를 뽑으면 끝인데?' 라고 생각했지만 시간초과가 나버렸다...
#include <iostream>
int main(void) {
int N,k;
std::cin >> N;
int arr[N];
for (int i = 0; i < N; i++) {
std::cin >> k;
arr[i] = k;
}
int tmp;
for (int i = 0; i < N; i++) {
for (int j = 0; j < N-i-1; j++) {
if (arr[j] > arr[j+1]) {
tmp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = tmp;
}
}
}
std::cout << arr[0] << " " << arr[N-1] << std::endl;
return 0;
}
② 아이디어 열기
C++에는 고맙게도 Python처럼 오름차순으로 정렬하는 함수가 존재하였다!!
#include <iostream>
#include <algorithm>
int main(void) {
int N;
std::cin >> N; // N값 입력 받기
int arr[N];
for(int i = 0; i < N; i++) { // 배열 원소 입력 받기
std::cin >> arr[i];
}
std::sort(arr,arr+N); // 오름차순 정렬
std::cout << arr[0] << " " << arr[N-1] ;
return 0;
}
algorithm 라이브러리에 있는 sort함수를 통해 오름차순으로 정렬할 수도 있고, 내림차순으로 정렬할 수도 있다.
▶ 오름차순으로 정렬하는 법
std::sort (start,end)을 이용하면 [start,end) 범위의 인자를 오름차순으로 정렬한다.
▶ 내림차순으로 정렬하는 법
std::sort (start,end,std::greater<자료형>())을 이용하면 [start,end) 범위의 인자를 내림차순으로 정렬한다.
'Algorithm > string' 카테고리의 다른 글
[백준] 1924 2007년 (C++) (0) | 2022.01.18 |
---|---|
[백준] 2741 N 찍기 (C++) (0) | 2022.01.18 |
[백준] 11721 열 개씩 끊어 출력하기 (C++) (0) | 2022.01.18 |
[백준] 11721 열 개씩 끊어 출력하기 (C++) (0) | 2022.01.18 |
[백준] 11720 숫자의 합 (C++) (0) | 2022.01.18 |