반응형
programmers.co.kr/learn/courses/30/lessons/77484?language=cpp#
구현문제였습니다.
풀이방법
1. 0인 개수를 notMatch에 lottos와 win_nums가 같은 수의 개수를 match에 저장합니다.
2. 가장 잘되는 경우는 모든 0이 win_nums의 수인 경우입니다. 따라서 7 - (match + notMatch) 가 답입니다.
가장 안되는 경우는 모든 0이 win_nums에 없는 수인 경우입니다. 따라서 7 - 기존에 일치했던 개수가 답입니다.
6,6 이 답인 경우도 있으니 만약 7이 나왔다면 해당 변수를 6으로 재 할당해줍니다.
Code
#include <bits/stdc++.h>
using namespace std;
vector<int> solution(vector<int> lottos, vector<int> win_nums) {
int match=0,notMatch=0,big=0,small=0;
for(int i = 0; i < lottos.size(); i++){
if(!lottos[i]) notMatch++;
for(int j = 0; j < win_nums.size(); j++){
if(lottos[i] == win_nums[j]) match++;
}
}
big = 7 - (match + notMatch);
if(big == 7) big = 6;
small = 7 - match;
if(small == 7) small = 6;
return {big,small};
}
'Algorithm > Implementation' 카테고리의 다른 글
(C++) - 백준(BOJ) 21608번 : 상어 초등학교 (0) | 2021.05.05 |
---|---|
(C++) - 프로그래머스(2021 Dev-Matching: 웹 백엔드 개발자(상반기)) : 행렬 테두리 회전하기 (0) | 2021.05.04 |
(C++) - 프로그래머스(2018 KAKAO BLIND RECRUITMENT[3차]) : 압축 (0) | 2021.05.04 |
(C++) - 백준(BOJ) 16935번 : 배열 돌리기 3 답 (0) | 2021.05.03 |
(C++) - 백준(BOJ) 14719번 : 빗물 답 (0) | 2021.05.03 |