[Kotlin] Programmers 로또의 최고 순위와 최저 순위 -Level1

2021. 5. 21. 10:00개발/[Algorithm] Programmers Kotlin

반응형

문제 원본  : https://programmers.co.kr/learn/courses/30/lessons/77484#

 

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

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

programmers.co.kr

풀이

fun solution(lottos: IntArray, win_nums: IntArray): IntArray {
    var sum = 0; // 0을 제외하고 당첨 번호가 몇개 있는지
    var zero = 0; // 0이 몇개 있는지
    for( i in lottos.indices) {
        if(lottos[i] == 0) { // 0의 개수를 구한다.
            zero += 1 // 2
        }
       for(j in win_nums.indices) { // 당첨번호 개수를 구한다.
           if(lottos[i] == win_nums[j]) {
               sum += 1 // 2
           }
       }
    }
    var answer = intArrayOf(sum+zero, sum) // 배열에 넣고
    for(i in answer.indices) { // 순위를 매긴다.
        when {
            answer[i] == 6 -> {
                answer[i] = 1
            }
            answer[i] == 5 -> {
                answer[i] =2
            }
            answer[i] == 4 -> {
                answer[i] = 3
            }
            answer[i] == 3 -> {
                answer[i] = 4
            }
            answer[i] ==2 -> {
                answer[i] =5
            }
            else -> {
                answer[i] = 6
            }
        }
    }
  
    return answer
}

 

반응형