문제
프로그래머스 코딩테스트 연습 - 제일 작은 수 제거하기 (Level 1)
https://programmers.co.kr/learn/courses/30/lessons/12935
사용 알고리즘
- brute force
풀이
제일 작은 값을 먼저 찾고
나머지 값들은 answer벡터에 추가해준다.
나의 코드
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> solution(vector<int> arr) {
vector<int> answer;
int min=arr[0];
for(auto i:arr) if(min>i) min=i;
for(auto i:arr) if(min!=i) answer.push_back(i);
if(arr.size()==1) answer.push_back(-1);
return answer;
}
남의 코드(좋아요 최다 코드)
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> solution(vector<int> arr) {
vector<int> answer = arr;
int nMin = *min_element(arr.begin(), arr.end());
int pos = find(answer.begin(), answer.end(), nMin) - answer.begin();
answer.erase(answer.begin() + pos);
return answer.empty() ? vector<int>(1, -1) : answer;
}
728x90
'PS > Programmers' 카테고리의 다른 글
프로그래머스 코딩테스트 연습 - 서울에서 김서방 찾기 (Level 1) (0) | 2021.06.29 |
---|---|
프로그래머스 코딩테스트 연습 - 같은 숫자는 싫어 (Level 1) (0) | 2021.06.26 |
프로그래머스 코딩테스트 연습 - 예산 (Level 1) (0) | 2021.06.23 |
프로그래머스 코딩테스트 연습 - 가운데 글자 가져오기 (Level 1) (0) | 2021.06.22 |
프로그래머스 코딩테스트 연습 - 두 개 뽑아서 더하기 (Level 1) (0) | 2021.06.21 |