728x90
level 1 : 제일 작은 수 제거하기
https://programmers.co.kr/learn/courses/30/lessons/12935?language=cpp
코딩테스트 연습 - 제일 작은 수 제거하기
정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1
programmers.co.kr
코드
//프로그래머스 제일 작은 수 제거하기
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> solution(vector<int> arr) {
vector<int> answer;
int min = *min_element(arr.begin(), arr.end());//가장 작은 수
arr.erase(find(arr.begin(), arr.end(), min)); //제거
if (arr.empty()) //사이즈가 0일 때
arr.push_back(-1);
return arr;
}
int main() {
vector<int> arr = { 4,3,2,1 };
solution(arr);
return 0;
}
설명
min_element함수로 가장 작은 수를 찾는다.
벡터의 erase 함수로 가장 작은 수의 위치를 제거한다.
제거한 arr가 비어있다면 -1을 채워서 arr을 return 한다.
고찰
걸린시간 : 10분
min_element, max_element가 존재한다는 사실은 알았지만 어떻게 사용해야 하는지는 검색하여 알아보았다. 다음과 같은 함수들을 검색하지 않고 바로 사용할 수 있도록 문제를 많이 풀어보도록 해야할 거 같다.
728x90
'알고리즘 > 프로그래머스' 카테고리의 다른 글
알고리즘(C++) / 프로그래머스 level 2 : H-Index (0) | 2021.09.17 |
---|---|
알고리즘(C++) / 프로그래머스 level 2 : 소수 찾기 (0) | 2021.09.16 |
알고리즘(C++) / 프로그래머스 위클리 챌린지 7주차 : 입실 퇴실 (0) | 2021.09.14 |
알고리즘(C++) / 프로그래머스 위클리 챌린지 6주차 : 복서 정렬하기 (0) | 2021.09.14 |
알고리즘(C++) / 프로그래머스 level 3 : 불량 사용자 (0) | 2021.09.10 |
댓글