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

HJ Kwon·2021년 12월 16일
0
  • 로또 번호의 matching 여부를 판단하는 문제
  • 사내 등급 시험의 영향으로 배열을 활용하게 된다.
  • 아직 kotlin의 특성에 익숙치 않다.
class Solution {
    fun solution(lottos: IntArray, win_nums: IntArray): IntArray {
        val MAX = 0
        val MIN = 1
        var answer : IntArray = intArrayOf(0, 0)
        var mWinNumbers = Array(46){false}
        var mResultBoard : IntArray = intArrayOf(6, 6, 5, 4, 3, 2, 1)
        var mMatchedCnt = 0
        var mPossibleCnt = 0

        for (i in win_nums.indices step(1)) {
            mWinNumbers[win_nums[i]] = true
        }

        for (i in lottos.indices step(1)) {
            if (lottos[i] == 0) {
                mPossibleCnt++
                continue
            }
            if (mWinNumbers[lottos[i]]) {
                mMatchedCnt++
            }
        }

        answer[MIN] = mResultBoard[mMatchedCnt]
        answer[MAX] = mResultBoard[mMatchedCnt + mPossibleCnt]
        //println("MAX: " + answer[MAX] + "MIN: " + answer[MIN])
        return answer
    }
}

0개의 댓글