반응형
안녕하세요. 개발 중인 정주입니다.
오늘은 프로그래머스 - 로또의 최고 순위와 최저 순위 문제를 풀었습니다.
목차
Github
문제 링크
https://programmers.co.kr/learn/courses/30/lessons/77484
풀이
문제 자체에서 어려운 점은 없었습니다.
천천히 읽으면서 작성하면 될 것 같습니다.
테스트 14에서 계속 탈락해서 고민을 했는데요.
0이 없고 6등인 케이스를 보충하였더니 통과를 했습니다.
참고가 되었으면 좋겠습니다.
전체 코드
import Foundation
func solution(_ lottos:[Int], _ win_nums:[Int]) -> [Int] {
var zeroCount = 0, sameCount = 0
for number in lottos {
if number == 0 {
zeroCount += 1
} else {
for winNum in win_nums {
if number == winNum {
sameCount += 1
}
}
}
}
let minGrade = 6 - sameCount + 1
let maxGrade = minGrade - zeroCount
return [min(maxGrade, 6), min(minGrade, 6)]
}
let lottos = [1, 2, 3, 4, 5, 6]
let win_nums = [7, 8, 9, 10, 11, 12]
print(solution(lottos, win_nums))
아직은 초보 개발자입니다.
더 효율적인 코드 훈수 환영합니다!
공감과 댓글 부탁드립니다.
반응형