[2021-06-13] 로또의 최고 순위와 최저 순위

2021. 6. 13. 13:50코딩테스트

푼 시간 : 15분

언어 : 자바

 


 

https://programmers.co.kr/learn/courses/30/lessons/77484

 

코딩테스트 연습 - 로또의 최고 순위와 최저 순위

로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호

programmers.co.kr

 

temp를 써서 자연수를 넣어줬다.

전에 본적있는 방식이라 해봤는데

배열쓰기 참 편해서 좋은거 같다.

 

마지막에 count가 temp를 초과할것이 분명해서

고민하다가 어차피 0도 6등이기에 그냥 6을 하나 더 넣어줬다.

 

import java.util.*;

class Solution {
    public int[] solution(int[] lottos, int[] win_nums) {
        int[] answer = new int[2];
        int[] temp={6, 6, 5, 4, 3, 2, 1};
        // 로또 순위를 넣은 상자 0도 6등이나 마찬가지기에, 7개의 배열에
        // 6을 두개 넣음
        int count=0;
        // 기존 로또
        int count_zero=0;
        // 지워진 로또의 번호
        
        for(int i=0; i<lottos.length; i++){
            for(int j=0; j<win_nums.length; j++){
                if(lottos[i]==0){
                // 지워졌다는것만 카운트
                    count_zero++;
                    break;
                }
                else if(lottos[i]==win_nums[j]){
                // 안지워졌는데 맞춘것들
                    count++;
                    break;
                }
            }
        }
        
        answer[0]=temp[count+count_zero];
        answer[1]=temp[count];
        
        return answer;
    }
}

 

이 문제는 나도 좀 영리하게 푼 느낌이다...ㅎㅎㅎㅎ

'코딩테스트' 카테고리의 다른 글

[2021-07-12] 숫자 문자열과 영단어  (0) 2021.07.12
[2021-06-15] 내적  (0) 2021.06.15
[2021-06-11] 시저 암호  (0) 2021.06.11
[2021-06-10] 124나라의 숫자 (lv2)  (0) 2021.06.10
[2021-05-28] 폰켓몬  (0) 2021.05.28