https://school.programmers.co.kr/learn/courses/30/lessons/181844?language=swift
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제

두 개의 배열에서 하나의 배열을 빼는 기초 문제입니다. 😋
arr 배열에 delete_list 요소들을 모두 제거해 주면 answer~!
풀이
import Foundation
func solution(_ arr:[Int], _ delete_list:[Int]) -> [Int] {
return arr.filter { !delete_list.contains($0) }
}
참고로 contains는 O(n)이다.

+ Set을 이용하여 O(n^2) -> O(n)으로 만들기
func solution(_ arr:[Int], delete_list:[Int]) -> [Int] {
let deleteSet = Set( delete list)
return arr.filter { !deleteSet.contains($0) }
}

10배 차이나는 케이스도 있었다. wow
반응형
'알고리즘' 카테고리의 다른 글
이진탐색 - Swift (0) | 2022.02.19 |
---|---|
[Hash] Rabbits in Forest - LeetCode Swift (0) | 2021.08.25 |
[BFS] 음식물 피하기 - baekjoon Swift (2) | 2021.08.24 |
[DFS] N과 M - baekjoon Swift (0) | 2021.08.23 |
[투포인터] Container With Most Water - LeetCode Swift (2) | 2021.08.18 |