• Home
  • About
    • Moon photo

      Moon

      개발자는 자고 싶다.

    • Learn More
    • Twitter
    • Facebook
    • Instagram
    • Github
    • Steam
  • Posts
    • All Posts
    • All Tags
  • Projects

프로그래머스 - 77484 로또의 최고 순위와 최저 순위 풀이

03 Jul 2022

Reading time ~1 minute

문제

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

screencapture

풀이

0의 수를 구한다.

kotlin code

val zeroCount = lottos.count { it == 0 }

당첨 번호와 일치하는 수를 구한다.

kotlin code

  • 로또 번호와 당첨 번호의 교집합을 구한 후 교집합의 크기를 구하면 간단하게 해결된다.
val mCount = lottos.intersect(win_nums.toSet()).size

당첨 가능한 최고 순위와 최저 순위를 차례대로 배열에 담아서 return 한다.

  • 0이 모두 일치 하면 최고 순위 일치 하지 않으면 최저 순위가 된다.

kotlin code

return intArrayOf(getRank(zeroCount + mCount), getRank (mCount))
    }

답

kotlin code

class Solution {
    fun solution(lottos: IntArray, win_nums: IntArray): IntArray {
        val zeroCount = lottos.count { it == 0 }
        val mCount = lottos.intersect(win_nums.toSet()).size
        return intArrayOf(getRank(zeroCount + mCount), getRank (mCount))
    }
    
    private fun getRank(mCount:Int) = when(mCount) {
        0 -> 6
        else -> 7 - mCount
    }
}


programmerskotlin코틀린프로그래머스Lv.1풀이 Share Tweet +1