Programmers_로또의 최고 순위와 최저 순위
프로그래머스 - 로또의 최고 순위와 최저 순위 문제 입니다.
1. 문제
https://programmers.co.kr/learn/courses/30/lessons/77484
2. 분류 및 난이도
Programmers 문제입니다.
Dev-Matching 백엔드 코테 문제입니다. Level 1난이도의 문제입니다.
3. 생각한 것들(문제 접근 방법)
- 직관적이고 어렵지 않은 문제입니다.
4. 접근 방법을 적용한 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <string>
#include <vector>
#include <set>
#include <iostream>
using namespace std;
vector<int> solution(vector<int> lottos, vector<int> win_nums) {
vector<int> answer;
//set에 넣어서 접근할 수 있게 만듭니다.
set<int> ans(win_nums.begin(),win_nums.end());
int max = 1 ;
int min = 1;
for(int i = 0; i<lottos.size();++i){
//0인 경우에는 최저 순위만 올라갑니다(틀렸다고 가정)
if(lottos[i] ==0 ){
++min;
}
else{
//만약 찾을 수 없다면 둘 다 순위가 올라갑니다.
if(!ans.count(lottos[i])){
++max;
++min;
}
}
}
//만약 다 없거나 다 맞춘 경우 min값이나 max값이 6을 초과하므로 다시 맞춰줍니다.
min = min >6 ? 6 : min;
max = max > 6 ? 6 :max;
answer.push_back(max);
answer.push_back(min);
return answer;
}
5. 결과
필요시.
This post is licensed under CC BY 4.0 by the author.