이전 챕터와 비슷하게 filtering 연산자에 대해 공부해 보려 합니다. Filtering basics filter() Swift에 있는 filter와 같습니다. (조건문과 성립하는것만 걸러냄) var subscriptions = Set() example(of: "filter") { // 1. 1~10까지 이벤트 방출 let numbers = (1...10).publisher // 2. filter 연산자로, 3의 배수만 걸러냄 numbers .filter { $0.isMultiple(of: 3) } // isMultiple of의 지정된 숫자의 배수이면 true 반환 .sink(receiveValue: { num in print("\(num) 은 3의 배수") }) .store(in: &subscri..
https://school.programmers.co.kr/learn/courses/30/lessons/120834 문제 사진 내 풀이 import Foundation let ageKey: [Int: String] = [ 0: "a", 1: "b", 2: "c", 3: "d", 4: "e", 5: "f", 6: "g", 7: "h", 8: "i", 9: "j" ] func solution(_ age:Int) -> String { var result: [String] = [] let digits: [Int] = String(age).compactMap { Int(String($0))} for num in digits { result.append(ageKey[num]!) } return result.join..
https://school.programmers.co.kr/learn/courses/30/lessons/120862 문제 사진 내 풀이 테스트케이스 7번에서 실패하는데 이유를 모르겠다.. ㅠㅠ import Foundation func solution(_ numbers:[Int]) -> Int { var maxValue: Int = 0 for i in 0...numbers.count - 1 { for j in 0...numbers.count - 1 { if i != j { maxValue = max(maxValue, numbers[i] * numbers[j]) } } } return maxValue } solution([1, 4, 4, 5, 7, 7]) 최대값을 저장하는 maxValue 변수를 만든다. 두..
각 Operator는 publisher를 반환합니다. publisher는 upstream 이벤트를 받고 조작합니다. 그러고나서, 조작된 이벤트들을 사용자에게 downstream으로 보냅니다. Collecting Values collect() 각각의 value들을 한 배열안에 넣습니다. 1. collect() 안썼을시 var subscriptions = Set() example(of: "collect") { ["A", "B", "C", "D", "E"].publisher .sink(receiveCompletion: { print($0) }, receiveValue: { print($0) }) .store(in: &subscriptions) } /* ——— Example of: collect ——— A B ..
https://school.programmers.co.kr/learn/courses/30/lessons/120815 내 풀이 import Foundation func solution(_ n:Int) -> Int { var pizza = 1 while 6 * pizza % n != 0 { pizza += 1 } return pizza } solution(10) 피자한판 = 6조각 전체 다 동등하게 나누어 먹으려면 나머지값이 0이 되어야한다. (% 사용) 6 % n명의 나머지값이 0이 아니면 피자판수를 늘려준다. 아래처럼 괄호를 씌워 가독성 좋게 하는것도 좋을것 같다. while (6 * pizza) % n != 0 { } 다른사람의 풀이 대부분이 위의 방식과 비슷하게 풀었다. :)
https://school.programmers.co.kr/learn/courses/30/lessons/120891 문제 사진 내 풀이 import Foundation func solution(_ order:Int) -> Int { return String(order).filter { $0 == "3" || $0 == "6" || $0 == "9"}.count } solution(29423) [목표] 한줄로 끝내보자 Int -> String 숫자 하나하나 3,6,9를 조회하기 위함 filter로 3,6,9를 포함하고 있는것만 걸러내기 다른사람의 풀이 import Foundation func solution(_ order:Int) -> Int { return String(order).filter { "36..
https://school.programmers.co.kr/learn/courses/30/lessons/120895 문제 사진 내 풀이 import Foundation func solution(_ my_string:String, _ num1:Int, _ num2:Int) -> String { var resultString: [Character] = Array(my_string) var tempArr: [Character] = [] tempArr.append(Array(my_string)[num1]) tempArr.append(Array(my_string)[num2]) resultString[num1] = tempArr.popLast()! resultString[num2] = tempArr.popLast(..
https://school.programmers.co.kr/learn/courses/30/lessons/120830 문제 사진 내 풀이 import Foundation func solution(_ n:Int, _ k:Int) -> Int { // 1 var freeBeverage: Int = 0 var beverage = k var result: Int = 0 if n >= 10 { freeBeverage = (n / 10) beverage -= freeBeverage result = n * 12000 + beverage * 2000 } else { result = n * 12000 + k * 2000 } return result } 양꼬치가 10개 이상이면 n / 10 의 몫 만큼 k에서 뺀다 총 양..
https://school.programmers.co.kr/learn/courses/30/lessons/76501 문제 사진 내 풀이 import Foundation func solution(_ absolutes:[Int], _ signs:[Bool]) -> Int { var result: [Int] = [] for (idx, el) in signs.enumerated() { el == true ? result.append(absolutes[idx]) : result.append(-absolutes[idx]) } return result.reduce(0, { $0 + $1 }) } solution([4, 7, 12], [true, false, true]) signs에서 false가 있는 index만 ab..
https://school.programmers.co.kr/learn/courses/30/lessons/77884 문제 사진 내 풀이 import Foundation func solution(_ left:Int, _ right:Int) -> Int { let result = Array(left...right).reduce(0) { isEven($1) ? $0 + $1 : $0 - $1 } return result } solution(13, 17) func isEven(_ num: Int) -> Bool { var result: [Int] = [] for n in 1...num { if num % n == 0 { result.append(n) } } return result.count % 2 == 0 ? ..
- Total
- Today
- Yesterday
- ios
- iOS error
- iOS GCD
- Swift 내림차순
- swift 고차함수
- Swift init
- 호텔리어 개발자
- Class
- Swift 프로그래머스
- RIBs tutorial
- Swift joined
- swift protocol
- Swift ModernRIBs
- Swift inout
- Swift while
- 원티드 프리온보딩
- Uber Architecture
- swift reduce
- Swift joined()
- Swift 프로퍼티
- swift function
- Swift final
- 2023년 회고
- Swift Error Handling
- Swift Leetcode
- Combine: Asynchronous Programming with Swift
- swift property
- Swift
- Swift RIBs
- CS 네트워크
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |