문제
https://programmers.co.kr/learn/courses/30/lessons/77484
코딩테스트 연습 - 로또의 최고 순위와 최저 순위
로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호
programmers.co.kr
문제 풀이
import Foundation
func solution(_ lottos:[Int], _ win_nums:[Int]) -> [Int] {
let zeroCount = lottos.filter { $0 == 0}.count
let winCount = win_nums.filter { lottos.contains($0) }.count
return [min(7-winCount-zeroCount,6), min(7-winCount,6)]
}
코드 설명
1. .filter {}
filter는 단어 뜻 그대로 내부의 값들을 걸러서 추출하는 역할을 합니다.
let x = [10, 3, 20, 15, 4]
var filtered = x.filter { $0 > 5 }.sorted() // 10 15 20
2. .contains()
contains 함수는 특정 문자 포함여부를 Boolean 값으로 리턴해주는 함수이다.
이 함수는 문자열에서도 사용할 수 있고, 배열에서도 사용할 수 있다.
3. min()
값을 비교해 최소값을 리턴해주는 함수이다.
소감
어떻게 풀어야 할지 감은 왔지만 코드로 표현에서 막혔던 문제이다.
검색을 통해 다른 사람이 쓴 코드를 보고 함수들을 따로 공부하면서 배울 수 있었다.
참고:
https://minosaekki.tistory.com/21
Swift - map,filter,reduce(고차함수)란 무엇일까?
저번 시간에 정리하였던 클로저에 이어서 이번에는 고차함수에 대해 정리해보도록 하겠습니다! 요즘 알고리즘 문제들을 풀고 있는데 문제를 풀다 보면 고차함수를 유용하게 사용할 때가 많아
minosaekki.tistory.com
[Swift] 문자열이나 배열에 특정 문자가 포함돼있는지 확인하기
[Swift] 문자열이나 배열에 특정 문자가 포함돼있는지 확인하기 contains(_:) 스위프트에서 문자열이나 배열에 특정 문자가 포함돼있는지 알아보기 위해서는 contains 함수를 사용하면 된다. contains 함
zeunny.tistory.com
https://0urtrees.tistory.com/240
swift filter, min 함수 예제, 제일작은수 제거하기 풀이
프로그래머스 제일작은수 제거하기 문제링크 ▼ 코딩테스트 연습 - 제일 작은 수 제거하기 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요.
0urtrees.tistory.com
'Coding Test' 카테고리의 다른 글
Programmers.K번째수 (Swift) (0) | 2022.03.29 |
---|---|
Progammers.음양 더하기 (Swift) (0) | 2022.03.29 |
Programmers.없는 숫자 더하기 (Swift) (0) | 2022.03.28 |
Programmers.숫자 문자열과 영단어 (Swift) (0) | 2022.03.28 |
Programmers.신규 아이디 추천 (Swift) (0) | 2022.03.28 |
댓글