쌓고 쌓다
[프로그래머스] 로또의 최고 순위와 최저 순위 C++ 풀이 본문
https://programmers.co.kr/learn/courses/30/lessons/77484
코딩테스트 연습 - 로또의 최고 순위와 최저 순위
로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호
programmers.co.kr
전체 코드
#include <string>
#include <vector>
using namespace std;
vector<int> solution(vector<int> lottos, vector<int> win_nums) {
vector<int> answer;
int bingo = 0;
int zero = 0;
for (int i = 0; i < 6; i++)
{
if (lottos[i] == 0)
{
zero++;
continue;
}
for (int j = 0; j < 6; j++)
{
if (lottos[i] == win_nums[j])
{
bingo++;
break;
}
}
}
int highest,lowest;
if (bingo + zero == 6)
highest = 1;
else if (bingo + zero == 5)
highest = 2;
else if (bingo + zero == 4)
highest = 3;
else if (bingo + zero == 3)
highest = 4;
else if (bingo + zero == 2)
highest = 5;
else
highest = 6;
if (bingo == 6)
lowest = 1;
else if (bingo== 5)
lowest = 2;
else if (bingo== 4)
lowest = 3;
else if (bingo== 3)
lowest = 4;
else if (bingo== 2)
lowest = 5;
else
lowest = 6;
answer.push_back(highest);
answer.push_back(lowest);
return answer;
}
간단히 맞춘 개수(bingo)에 알아 볼수 없는 번호를 더한다면 최고의 결과를 예상할수 있습니다.
왜냐하면 알아 볼수 없는 번호를 다 맞다고 생각하면 그게 최고의 결과입니다.
맞춘 개수(bingo)가 최악의 순위입니다.
알아 볼 수 없는 번호를 일부러 다 틀렸다고 생각하면 그게 최악의 결과이니깐요~
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 크레인 인형뽑기 게임 C++ 풀이 (0) | 2022.06.27 |
---|---|
[프로그래머스] 키패드 누르기 C++ 풀이 (0) | 2022.06.27 |
[프로그래머스] 숫자 문자열과 영단어 C++ 풀이 (0) | 2022.06.25 |
[프로그래머스] 신규 아이디 추천 C++ 풀이 (0) | 2022.06.24 |
[프로그래머스] 신고 결과 받기 C++ 풀이 (0) | 2022.06.22 |
Comments