프로그래머스

로또의 최고 순위와 최저 순위

끝까지 처음처럼 2022. 9. 9. 20:14
728x90
class Solution {
    fun solution(lottos: IntArray, win_nums: IntArray): IntArray {
        var answer = mutableListOf<Int>()
        var count = 0
        for(i in 0 .. lottos.size-1){//최저 맞추기
            if(win_nums.contains(lottos[i])) count++
        }
        when(count){
            0,1 -> answer.add(6)
            2 -> answer.add(5)
            3 -> answer.add(4)
            4 -> answer.add(3)
            5 -> answer.add(2)
            6 -> answer.add(1)
        }
        var bestCount = count + lottos.count{e -> e == 0}
        when(bestCount){
            0,1 -> answer.add(6)
            2 -> answer.add(5)
            3 -> answer.add(4)
            4 -> answer.add(3)
            5 -> answer.add(2)
            6 -> answer.add(1)
        }
        answer.reverse()
        return answer.toIntArray()
    }
}

저의 현재 실력으로 푼 문제 답안이며, 가장 좋은 코드는 아닐 수 있으며, 코틀린을 공부하면서 추가적으로 알게 된 개념이 있어 다시 풀 경우 추가적으로 코드를 작성 할 수 있도록 하겠습니다.