-
[프로그래머스/C++] 제일 작은 수 제거하기C++ 문제 풀이/프로그래머스 2024. 1. 14. 17:35
1. 문제 설명
2. Solution
#include <string> #include <vector> #include <algorithm> using namespace std; vector<int> solution(vector<int> arr) { int min_idx = min_element(arr.begin(), arr.end()) - arr.begin(); arr.erase(arr.begin() + min_idx); if(arr.empty()) arr.push_back(-1); return arr; }
이 문제는 제일 작은 수를 제거하는 것이다. 처음에는 arr를 sort 시킨 후 가장 처음의 원소가 작은 수 이므로 해당 원소를 제거하는 쪽으로 생각을 했는데 아무리 생각을 해도 좀 더 효율적인 방법이 있을 것 같아서 구글링을 하던 결과 algorithm 헤더파일의 라이브러리 함수에서 min_element라는 효자 함수를 찾았다! 이 함수를 실행하면 배열에서 가장 작은 수의 index를 반환한다. 따라서 이 index를 이용해 erase로 지워주었다.
기억하자 algorithm 헤더파일의 유용함을
'C++ 문제 풀이 > 프로그래머스' 카테고리의 다른 글
[프로그래머스/C++] 내적 (0) 2024.01.14 [프로그래머스/C++] 없는 숫자 더하기 (0) 2024.01.14 [프로그래머스/C++] 콜라츠 추측 (0) 2024.01.14 [프로그래머스/C++] x만큼의 간격이 있는 n개의 숫자 (0) 2023.07.04 [프로그래머스/C++] 짝수와 홀수 (0) 2023.07.04