2020/12

    [Swift] Binary Search란?

    Binary Search란 배열에서 원하는 값을 찾기위한 방법 중 하나로, Linear Search와는 차이가 있다. 뜬금없이 Linear Search는 무엇이고? Binary Search란 무엇일까? 먼저 Linear Search를 이해하기 위해 간단한 예시를 통해 이해해보자. 만약 아래 배열에서 "20"이란 값을 찾고 싶다면 어떻게 찾을 수 있을까? [1,40,7,22,33,20,10,29,25,30,17,5] 보통 사람이라면 가장 좌측에서부터 하나하나 값을 봐가며, 내가 원하는 값인지 비교해 나아가는 경우가 많다. 0번째 요소인 1은 아니기에 패스, 1번째 요소인 40은 또 아니니 패스 ... 쭉 진행하며 찾는 방식이다. [1,40,7,22,33,20,10,29,25,30,17,5] -> * 이처럼..

    [프로그래머스] 해쉬 - 위장

    옷 종류를 겹치지 않게 입는 경우의 수에 대한 문제이다. func solution(_ clothes: [[String]]) -> Int { var res: Int = 1 let clothesMapped = clothes.compactMap {($0.last,1)} let cnt = Dictionary(clothesMapped, uniquingKeysWith:+) for (_,value) in cnt { res *= (value+1) } return res - 1 } [프로세스] 1. 결과를 담을 res 변수를 생성한다. 2. [[String]] 배열에 .compactMap을 적용한다. 2-1. [[String]] 내에 [String]을 $0을 통해 불러온다. 2-2. Clothes Type이 위치한 배열..