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

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

문제

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

screencapture

풀이

0의 수를 구한다.

kotlin code

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

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

kotlin code

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

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

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

kotlin code

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

kotlin code

1
2
3
4
5
6
7
8
9
10
11
12
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
    }
}
This post is licensed under CC BY 4.0 by the author.

프로그래머스 - 92334 신고 결과 받기 풀이

프로그래머스 - 60057 문자열 압축 풀이