2021. 11. 12. 09:42 자기개발/코딩테스트
C++(코딩테스트) - 로또의 최고 순위와 최저 순위
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> solution(vector<int> lottos, vector<int> win_nums) {
vector<int> answer;
sort(lottos.begin(), lottos.end());
sort(win_nums.begin(), win_nums.end());
int zero_cnt = 0;
int cnt = 0;
int min_rank = 0;
int max_rank = 0;
for (int i = 0; i < lottos.size(); i++)
{
if (lottos[i] == 0)
{
zero_cnt++;
continue;
}
for (int j = 0; j < win_nums.size(); j++)
{
if (lottos[i] < win_nums[j])
{
break;
}
else if (lottos[i] == win_nums[j])
{
cnt++;
win_nums.erase(win_nums.begin() + j);
break;
}
}
}
if (cnt < 2) min_rank = 6;
else min_rank = 7 - cnt;
if (cnt + zero_cnt < 2) max_rank = 6;
else max_rank = 7 - cnt - zero_cnt;
answer.push_back(max_rank);
answer.push_back(min_rank);
return answer;
}
sort사용으로 풀이를 해봤는데 많이 비효율적인것같다.
'자기개발 > 코딩테스트' 카테고리의 다른 글
C++(코딩테스트) - 오픈채팅방 (0) | 2021.11.17 |
---|---|
C++(코딩테스트) - 최솟값 빼고 출력 (0) | 2021.11.12 |
C++(코딩테스트) - 크레인 인형뽑기 게임 (0) | 2021.11.12 |
C++(코딩테스트) - 숫자 문자열과 영단어 (0) | 2021.11.12 |
C++(코딩테스트) - 아이디추천 (0) | 2021.11.12 |