Codewars (2) 썸네일형 리스트형 [Swift] Counter 구현하기 via codewars codewars 를 풀다가 한줄짜리 카운터 구현이 있어서 옮겨본다. 한눈에 이해가 안 되서 옮겨보는 것임. 카운터라고 하면, 일련의 시퀀스 (리스트, 어레이로 주어진) 가 주어지고, 각각의 갯수를 세는 것을 말한다. python 에는 collections 에 Counter 라는 클래스를 간단히 이용하면 된다. 코드는 다음과 같다. func counter(_ seq: [Int]) -> [Int:Int] { return Dictionary( seq.map { ($0, 1) }, uniquingKeysWith: +) } // ViacheslavTronewsky@codewars 딕셔너리는 두개짜리 튜플의 시퀀스를 받아서, 딕셔너리로 바꿔주는데, 중복되는 키가 있을 때 어떻게 처리할지를 결정하는 인자가 uniqu.. Swift codewars 연습문제 gravity swift 문법을 배우면서 연습을 하기 위해서, codewars 문제를 몇 개 풀어보기 시작함. gravity 라는 문제를 풀어봤다. 그냥 숫자로 주어진 리스트를 L 또는 R 인자에 따라 ascending, descending 으로 sort한 결과를 리턴하는 함수를 짜면 된다. 내 풀이는 다음과 같다. func flip(_ direction:String, _ a: [Int]) -> [Int] { if direction == "L" { return a.sorted(by: >) } return a.sorted(by: 와 < 라는 두 람다 중에 하나를 선택하게 했다. 람다를 3항연산자로 선택가능하고 (그것도 간단한 신택스로) 코드가 예뻐서 블로그에서 한번 언급하고 싶었다. codewars 를 풀면, 풀어내는 .. 이전 1 다음