[Kotlin] 로또의 최고 최저 순위

class Solution {
    fun solution(lottos: IntArray, win_nums: IntArray): IntArray {
        var answer: IntArray = IntArray(2)
        var match : Int = 0 // 그냥 몇 개 맞는지
        var zero_num : Int  = 0 // 0이 몇 개 있는지
        
        for (i in 0..lottos.size - 1){
            if (win_nums.any{ it == lottos[i] }) match++ 
            else if (lottos[i] == 0) zero_num ++
        }
        
        answer[0] = rank(match + zero_num)
        answer[1] = rank(match)
        

        
      
        return answer
    }
    
    fun rank(num : Int) : Int{
        if (num == 6) return 1
        else if (num == 5) return 2
        else if (num == 4) return 3
        else if (num == 3) return 4
        else if (num == 2) return 5
        else return 6
    }
}

코틀린은 풀이가 인터넷에 잘 없다..

일단 깔끔한 코드는 아니다
rank 도 when으로 고칠 수 있을 것 같은데
for문도 뭐 어떻게 안되나?
아직 kotlin에 대해 모르는게 많다.
한 번 고쳐봐야지

	fun rank(num : Int) : Int{
     when(num){
     6 -> retunr 1
     5 -> return 2
     ...
     }
   }
   
   이런식으로 하면 될듯

좋은 웹페이지 즐겨찾기