[코딩 테스트] 프로그래머스 연습 문제 - 로또의 최고 순위와 최저 순위

2023. 5. 22. 14:38·개발/자료구조, 알고리즘
반응형

 

프로그래머스 연습 문제 - 로또의 최고 순위와 최저 순위 문제를 풀어보도록 하겠습니다.

 

 

프로그래머스 연습 문제 - 로또의 최고 순위와 최저 순위

 

 

 

 

 문제

로또를 구매한 민우는 당첨 번호 발표일을 학수고대하고 있었습니다. 하지만, 민우의 동생이 로또에 낙서를 하여, 일부 번호를 알아볼 수 없게 되었습니다. 당첨 번호 발표 후, 민우는 자신이 구매했던 로또로 당첨이 가능했던 최고 순위와 최저 순위를 알아보고 싶어 졌습니다.
알아볼 수 없는 번호를 0으로 표기하기로 하고, 민우가 구매한 로또 번호 6개가 44, 1, 0, 0, 31 25라고 가정해 보겠습니다. 당첨 번호 6개가 31, 10, 45, 1, 6, 19라면, 당첨 가능한 최고 순위와 최저 순위의 한 예는 아래와 같습니다.

 

0,0이 10과 6이고 4개 번호 일치 시 3등 

0,0이 다 안맞아서  2개 번호 일치 시 2등

 

 

 

 제한사항

 

실제 로또와 동일하게 1~45의 숫자가 가능합니다. 다만 입력의 정해지지 않은 값은 0으로 들어오므로 입력은 0~45가 들어옵니다.

당첨 번호는 같은 숫자가 2개 이상 담겨있지 않습니다. 정렬되지 않았습니다.

 

 

 

 코드

 

 

#include <string>
#include <vector>
#include <algorithm>

using namespace std;

vector<int> solution(vector<int> lottos, vector<int> win_nums) {
    vector<int> answer;
    int same_count = 0;
    int zero_count = 0;

    for(int i=0;i<lottos.size();i++){
        if(lottos[i]==0) {zero_count++; continue;}
        for(int j=0;j<win_nums.size();j++){
            if(lottos[i] == win_nums[j]) {
                same_count++;
            }
        }
    }
    if(same_count ==0 && zero_count == 0){
        answer.push_back(6);    
        answer.push_back(6);    
    }
    else {
        int a = 7-same_count;
        answer.push_back(a-zero_count);
        if(same_count == 0) a = 6;
        answer.push_back(a);
    }

    
    return answer;
}

 

 

 

 결론

 

실제 로또를 활용한 문제로 이해하기 어렵지 않았습니다. 구현 또한 조금 길어지긴 했지만 단순했습니다.

저작자표시 비영리 변경금지 (새창열림)

'개발 > 자료구조, 알고리즘' 카테고리의 다른 글

[코딩 테스트] 프로그래머스 연습 문제 - 멀쩡한 사각형  (0) 2023.05.24
[코딩 테스트] 프로그래머스 연습 문제 - 키패드 누르기  (0) 2023.05.23
[코딩 테스트] 프로그래머스 연습 문제 - 없는 숫자 더하기  (0) 2023.05.22
[코딩테스트] 프로그래머스 연습 문제 - 신고 결과 받기  (0) 2023.04.29
[코딩 테스트] 프로그래머스 연습 문제 - 달리기 경주  (0) 2023.04.28
'개발/자료구조, 알고리즘' 카테고리의 다른 글
  • [코딩 테스트] 프로그래머스 연습 문제 - 멀쩡한 사각형
  • [코딩 테스트] 프로그래머스 연습 문제 - 키패드 누르기
  • [코딩 테스트] 프로그래머스 연습 문제 - 없는 숫자 더하기
  • [코딩테스트] 프로그래머스 연습 문제 - 신고 결과 받기
growing-dev
growing-dev
S/W 개발 관련 내용들과 취미나 육아, 맛집 등 관심 있는 내용을 공유하는 블로그입니다.
    반응형
  • growing-dev
    성장하는 개발자 블로그
    growing-dev
  • 전체
    오늘
    어제
    • 분류 전체보기 N
      • 개발
        • 개발 공통
        • 개발 환경
        • Git
        • 자료구조, 알고리즘
        • C, C++
        • Python
        • DevOps
        • CMake
      • 공부
        • 영어
        • 경제
      • 취미, 육아 N
        • 육아
      • 생활정보
  • 블로그 메뉴

    • 홈
  • 링크

    • growing-dev GitHub
  • 공지사항

    • [블로그 시작] 성장하는 개발자 스토리입니다.
  • 인기 글

  • 태그

    생산성
    오블완
    오픽
    프로그래머스
    OPIC
    CMake
    Clang
    TDD
    앨리웨이
    C++
    WSL
    필스너
    git
    키즈카페
    티스토리챌린지
    하이볼
    dfs
    VS Code
    소프티어
    Python
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
growing-dev
[코딩 테스트] 프로그래머스 연습 문제 - 로또의 최고 순위와 최저 순위
상단으로

티스토리툴바