n개의 요소로 구성된 배열이 있다고 가정합니다. 배열에서 첫 번째, 두 번째로 작은 요소를 찾아야 합니다. 첫 번째로 작은 것이 배열의 최소값이고, 두 번째로 작은 것이 최소값이지만 첫 번째로 작은 수보다 큽니다.
각 요소를 스캔한 다음 요소를 확인하고 첫 번째 및 두 번째로 작은 요소 조건에 대한 조건을 연결하여 이 문제를 해결합니다.
예시
#include<iostream>
using namespace std;
int getTwoSmallest(int arr[], int n) {
int first = INT_MAX, sec = INT_MAX;
for (int i = 0; i < n; i++) {
if (arr[i] < first) {
sec = first;
first = arr[i];
}else if (arr[i] < sec) {
sec = arr[i];
}
}
cout << "First smallest = " << first << endl;
cout << "Second smallest = " << sec << endl;
}
int main() {
int array[] = {4, 9, 18, 32, 12};
int n = sizeof(array) / sizeof(array[0]);
getTwoSmallest(array, n);
} 출력
First smallest = 4 Second smallest = 9