반응형
1. 문제
두 배열을 비교해서 같은 것과 다른 것의 갯수를 비교하는 것.
2. 설계
당첨번호를 map에 넣는다. 구매한 로또 배열을 돌면서 있는 값은 지우고 cnt를 증가시킨다. (0번은 없으므로)
최소값은 현재 cnt 최댓값은 cnt+0의 갯수로 리턴한다.
3. 알고리즘
4. 구현
#include <bits/stdc++.h>
using namespace std;
vector<int> solution(vector<int> lottos, vector<int> win_nums) {
vector<int> answer;
map<int,int> mp;
int cnt=0;
int zeros=0;
for(auto iter: win_nums){
mp[iter]++;
}
for(auto iter: lottos){
if(mp[iter]) cnt++;
if(iter==0) zeros++;
}
answer.push_back(cnt);
answer.push_back(cnt+zeros);
return answer;
}
1) cnt 가 아니라 등수를 넣어야한다.
2) 맞는 것이 1 이하이면 6등 (맞는 것이 0 개여도 6등) cnt와 zeros를 더해도 1이하인 경우 6등을 넣어야한다.
#include <bits/stdc++.h>
using namespace std;
vector<int> solution(vector<int> lottos, vector<int> win_nums) {
vector<int> answer;
map<int,int> mp;
int cnt=0;
int zeros=0;
for(auto iter: win_nums){
mp[iter]++;
}
for(auto iter: lottos){
if(mp[iter]) cnt++;
if(iter==0) zeros++;
}
if(cnt<=1) answer.push_back(6);
else answer.push_back((7-cnt));
if((cnt+zeros)<=1) answer.push_back(6);
else answer.push_back((7-(cnt+zeros)));
sort(answer.begin(), answer.end());
return answer;
}
반응형
'PS > 프로그래머스' 카테고리의 다른 글
프로그래머스 평균구하기 python (0) | 2021.05.31 |
---|---|
프로그래머스 다트게임 cpp (0) | 2021.05.28 |
프로그래머스 비밀지도 cpp (0) | 2021.05.24 |
프로그래머스 약수의 개수와 덧셈 cpp (0) | 2021.05.24 |
프로그래머스 실패율 cpp (0) | 2021.05.23 |
댓글