Programmers.로또의 최고 순위와 최저 순위(Swift)

junseole·2021년 8월 24일
0
post-thumbnail

문제 설명

lottos와 win_nums 2개의 배열이 들어온다.

lottos는 내가 산 로또 번호

win_nums 는 금주의 로또 번호이다.

동생이 낙서를 하여 로또 번호가 훼손이 되어서 훼손된 부분은 0으로 입력하였다.

당첨될수 있는 최고의 순위와 최저의 순위를 배열에 담아서 반환하면 된다.

문제 풀이

import Foundation

func solution(_ lottos:[Int], _ win_nums:[Int]) -> [Int] {

    var rightCount:Int = 0
    var answer:[Int] = []
    var zeroCount:Int = 0
    for i in 0..<win_nums.count{
        for j in 0..<lottos.count{
            if win_nums[i] == lottos[j]{
                rightCount += 1
            }
        }
        if lottos[i] == 0{
            zeroCount += 1
        }
    }
    answer.append(7 - (zeroCount + rightCount))
    answer.append(7 - rightCount)
    if answer[0] == 7{
        answer[0] = 6
    }
    if answer[1] > 6{
        answer[1] = 6
    }
    return answer
}

힘들었던 점

이번 문제는 정답 로또에서 내 로또 번호와 비교하여 로또번호가 맞으면 rightCount 를 1 올려주고 0이라면 zeroCount를 1 올려준다.

만약 하나도 못맞쳤다면 7이 나올 수 있는데 그럴 경우에는 낙첨인 6등이기 때문에 7이상의 값은 6으로 수정한다.

문제 바로가기

profile
Swift와 함께 여행중입니다.

0개의 댓글