-
[programmers/Swift]로또의 최고 순위와 최저 순위Archive/Questions 2022. 5. 4. 18:43728x90
programmers.co.kr - 코딩테스트연습 - Lv.1 - 2021 Dev-Matching: 웹 백엔드(상반기) - 로또의 최고 순위와 최저 순위
Constraints :
- lottos는 길이 6인 정수 배열입니다.
- lottos의 모든 원소는 0 이상 45 이하인 정수입니다.
- 0은 알아볼 수 없는 숫자를 의미합니다.
- 0을 제외한 다른 숫자들은 lottos에 2개 이상 담겨있지 않습니다.
- lottos의 원소들은 정렬되어 있지 않을 수도 있습니다.
- win_nums은 길이 6인 정수 배열입니다.
- win_nums의 모든 원소는 1 이상 45 이하인 정수입니다.
- win_nums에는 같은 숫자가 2개 이상 담겨있지 않습니다.
- win_nums의 원소들은 정렬되어 있지 않을 수도 있습니다.
// // Created by Yongwoo Marco on 2022/05/03. // Copyright © 2022 Yongwoo Marco Kim. All rights reserved. // func solution(_ lottos: [Int], _ win_nums: [Int]) -> [Int] { let zero = lottos.filter{ $0 == 0 }.count let match = lottos.filter{ win_nums.contains($0) }.count return [match + zero, match].map { $0 <= 1 ? 6 : 7 - $0 } } print(solution([44, 1, 0, 0, 31, 25], [31, 10, 45, 1, 6, 19])) // [3, 5] print(solution([0, 0, 0, 0, 0, 0], [38, 19, 20, 40, 15, 25])) // [1, 6] print(solution([45, 4, 35, 20, 3, 9], [20, 9, 3, 45, 4, 35])) // [1, 1]
How I tried this :
지워진 수(0) 이 다 맞고 나머지 수 맞은 갯수 = 최고나머지 수 맞은 갯수 = 최저
win_nums에 0은 없기 때문에 두 가지 모두 filter로 걸러냈다.
문제에 관한 모든 저작권 : https://programmers.co.kr/
728x90'Archive > Questions' 카테고리의 다른 글
[programmers/Swift] 가운데 글자 가져오기 (0) 2022.05.04 [programmers/Swift] 자연수 뒤집어 배열로 만들기 (0) 2022.05.04 [programmers/Swift] 나누어 떨어지는 숫자 배열 (0) 2022.05.03 [programmers/Swift] 정수 내림차순으로 배치하기 (0) 2022.05.03 [programmers/Swift] 2016년 (0) 2022.05.03