https://school.programmers.co.kr/learn/courses/30/lessons/120835 문제 사진 내 풀이 import Foundation func solution(_ emergency:[Int]) -> [Int] { var result: [Int] = [] emergency.map { el in result.append(emergency.filter { $0 > el }.count + 1)} return result } solution([1, 2, 3, 4]) 빈배열을 만들고 (순위를 보여줄 배열) 아래 처럼 루프가 돌아감 ==> el은 처음 루프 (map), e2는 이중 루프 (filter에서 $0) 예) el[0] 와 e2[0], e2[1], e2[2], e2[3] 이런..
https://school.programmers.co.kr/learn/courses/30/lessons/12932 문제 사진 내 풀이 1. func solution(_ n:Int64) -> [Int] { var arr = String(n).map { $0 } var resultStr: [String] = [] var resultInt: [Int] = [] for i in arr { resultStr.append(String(i)) } for _ in resultStr { resultInt.append(Int(resultStr.popLast()!)!) } return resultInt } 비효율적이라 생각한다. 빈배열과 for문을 두번 써야한다는점과 가독성 측면에서도 별로여서 아래처럼 리팩토링을 해봤다. ..
https://school.programmers.co.kr/learn/courses/30/lessons/120838 문제 사진 내 풀이 import Foundation // 1 let morse = [ ".-": "a", "-...": "b", "-.-.": "c", "-..": "d", ".": "e", "..-.": "f", "--.": "g", "....": "h", "..": "i", ".---": "j", "-.-": "k", ".-..": "l", "--": "m", "-.": "n", "---": "o", ".--.": "p", "--.-": "q", ".-.": "r", "...": "s", "-": "t", "..-": "u", "...-": "v", ".--": "w", "-..-": ..
이전 챕터와 비슷하게 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(..
- Total
- Today
- Yesterday
- RIBs tutorial
- Swift inout
- Class
- 원티드 프리온보딩
- Swift Leetcode
- iOS error
- Swift 내림차순
- Swift init
- Swift Error Handling
- Swift joined
- swift property
- swift (programmers)
- ios
- Swift final
- Swift
- Swift 프로그래머스
- Swift 프로퍼티
- RTCCameraVideoCapturer
- Swift joined()
- removeLast()
- swift programmers
- Swift ModernRIBs
- swift 고차함수
- Swift 알고리즘
- Combine: Asynchronous Programming with Swift
- swift reduce
- swift protocol
- CS 네트워크
- 2023년 회고
- Swift RIBs
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |