프로그래머스 - 77484 로또의 최고 순위와 최저 순위 풀이
문제
77484 로또의 최고 순위와 최저 순위
풀이
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.