코드
#include <vector>
#include <algorithm> // *min_element(v.begin(), v.end()); -> vector 가장 작은 값
using namespace std;
int solution(vector<int> array, int n) {
int answer = 0;
vector<int> num; // abs(array[i]-n) 값들 순서대로 들어감
sort(array.begin(), array.end()); // array 값 순서대로 정렬
for(int i=0;i<array.size();i++){
num.push_back(abs(array[i]-n));
}
int min=*min_element(num.begin(), num.end()); // vector 가장 작은 값
for(int i=0;i<num.size();i++){ // n을 - 한 값이 같을 수 있으므로 그 중 가장 작은 값 출력 -> 인덱스 가장 앞에 있는 것
if(min==num[i]){
answer=array[i];
break; // 발견시 반복문 탈출
}
}
return answer;
}
'C++ > programmers 코딩테스트(level 0) C++' 카테고리의 다른 글
[C/C++] programmers Level 0 세 개의 구분자 (0) | 2023.09.18 |
---|---|
[C/C++] programmers Level 0 진료 순서 정하기 (0) | 2023.09.18 |
[C/C++] programmers Level 0 숨어있는 숫자의 덧셈 (2) (0) | 2023.09.18 |
[C/C++] programmers Level 0 팩토리얼 (0) | 2023.09.18 |
[C/C++] programmers Level 0 문자열 계산하기 (0) | 2023.09.18 |