반응형
728x170
어렵지는 않지만 그렇다고 단순하지도 않다.
https://programmers.co.kr/learn/courses/30/lessons/77484
#맞는 풀이
#include <string>
#include <vector>
using namespace std;
vector<int> solution(vector<int> lottos, vector<int> win_nums) {
vector<int> answer;
int curWin = 0; // 일치하는 숫자
int curZero = 0; // 0인 숫자
int min, max = 0; //최저, 최고등수
for(int a : lottos){
if( a == 0){curZero++; continue; } // 당첨번호가 지워져있다면 ++
for(int b : win_nums){
if( a == b){ curWin++; continue;} // 당첨번호와 일치한다면 ++
}
}
//당첨번호만이 맞을 경우 최저등수
switch (curWin){
case 2:
min = 5;
break;
case 3:
min = 4;
break;
case 4:
min = 3;
break;
case 5:
min = 2;
break;
case 6:
min = 1;
break;
default:
min = 6;
}
//당첨번호 + 지워져있는 것까지 맞을 경우 최고 등수
switch (curWin + curZero){
case 2:
max = 5;
break;
case 3:
max = 4;
break;
case 4:
max = 3;
break;
case 5:
max = 2;
break;
case 6:
max = 1;
break;
default:
max = 6;
}
answer.push_back(max);
answer.push_back(min);
return answer;
}
사실 짧다면.. 굳이 switch로 하지 않아도 되었다.
하지만 갑자기 그냥 switch, case 문을 쓰고 싶었다.
728x90
반응형
그리드형
'문제풀이(Problem Solving)' 카테고리의 다른 글
프로그래머스, 카카오프렌즈 컬러링북 : C++ [CPP] (0) | 2021.11.05 |
---|---|
프로그래머스, 숫자 문자열과 영단어 : C++ [CPP] (0) | 2021.11.05 |
백준, BOJ, 14502번, 연구소 : C++ [CPP] (0) | 2021.10.18 |
백준, BOJ, 2805번, 나무자르기 : C++ [CPP] (0) | 2021.10.13 |
백준, BOJ, 1011번, Fly me to the Alpha Centauri : C++ [CPP] (0) | 2021.09.29 |