https://school.programmers.co.kr/learn/courses/30/lessons/12947 문제 사진 내 풀이 func solution(_ x:Int) -> Bool { // TODO: [x] String으로 변환 (Int로 다시 변환해 빈 배열에 넣기) // TODO: [x] reduce를 이용해 각 요소별 합구하기 // wholeNumberValue는 옵셔널을 반환 -> compactMap을 사용해서 옵셔널 바인딩을 해줌. var totalValue = String(x).compactMap { $0.wholeNumberValue }.reduce(0) { $0 + $1 } // TODO: [x] x % 요소 별 합 == 0 ? true : false return x % total..
문제 사진 구조체 Stack 2개를 사용해서 Queue의 기능을 구현 내 풀이 struct Stack { private var stack: [T] = [] public var isEmpty: Bool { return stack.isEmpty } public var count: Int { return stack.count } public mutating func push(_ el: T) { stack.append(el) } public mutating func pop() -> T? { return isEmpty ? nil : stack.popLast() } } struct Queue { var s1 = Stack() var s2 = Stack() public mutating func inQueue(_ el..
Publishers Publisher 가 방출하는 3가지 타입 Publisher의 제네릭 output 타입의 값 successful completion Publisher의 실패 타입의 completion error Publisher는 0개 이상의 출력 값을 방출할 수 있고, 성공 또는 실패로 완료되면 다른 이벤트를 방출하지 않습니다. Publisher 의 역할 delegate패턴을 사용하거나 completion callback을 주입하는 대신 Publisher를 사용할 수 있습니다. Publisher의 가장 좋은 기능 중 하나는 오류 처리가 내장되어 있다는 것입니다. Publisher 프로토콜은 두 가지 타입에 대해 일반적입니다. Output은 Publisher의 출력 값의 타입 입니다. Int Publ..
https://school.programmers.co.kr/learn/courses/30/lessons/12918 문제 사진 내 풀이 func solution(_ s:String) -> Bool { if s.count == 4 || s.count == 6 { if Int(s) != nil { return true } } return false } solution("12a4") Int로 변환시키는 Int()메서드를 사용하였습니다. 여기서 주의해야할 점은 String -> Int 로 변환시 숫자가 아닌 문자열이 들어갈 수도 있기때문에 Optional로 반환됩니다. 그래서 아래와 같이 nil 이 아닐경우 true를 리턴하게 해줬습니다. if Int(s) != nil { // code } 다른사람의 풀이 fun..
https://school.programmers.co.kr/learn/courses/30/lessons/12901 문제 사진 내 풀이 let week: [String] = ["SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"] let yoonDate = [ 1: 5, 2: 1, 3: 2, 4: 5, 5: 0, 6: 3, 7: 5, 8: 1, 9: 4, 10: 6, 11: 2, 12: 4 ] func solution(_ a:Int, _ b:Int) -> String { var index: Int = yoonDate[a]! for _ in 1...b { if index > 6 { index = 0 } index += 1 } return week[index - 1] } 딕셔너..
https://school.programmers.co.kr/learn/courses/30/lessons/12931 문제 사진 내 풀이 func solution(_ n:Int) -> Int { return String(n).map { Int(String($0))! }.reduce(0) { $0 + $1 } } solution(340) 처음엔 파라미터로 들어오는 n을 String 변환 후 split(separate: "") 로 진행했으나, character로 되는점에서 그냥 map 을 사용한 후 Int(String($0))으로 풀어내는게 더 직관적이라 생각해서 바꿨다. 다른사람의 풀이 import Foundation func solution(_ n:Int) -> Int { return String(n).re..
https://school.programmers.co.kr/learn/courses/30/lessons/70128 내 풀이 import Foundation func solution(_ a:[Int], _ b:[Int]) -> Int { var saveArr: [Int] = [] for (idx, num) in b.enumerated() { saveArr.append(num * a[idx]) } let result: Int = saveArr.reduce(0, { $0 + $1}) return result } solution([1,2,3,4], [-3,-1,0,2]) 다른사람의 풀이 func solution(_ a:[Int], _ b:[Int]) -> Int { let result = zip(a, b).ma..
알고리즘 문제 URL https://school.programmers.co.kr/learn/courses/30/lessons/12925?language=swift 문제 사진 내 풀이 func solution(_ s:String) -> Int { guard let result = Int(s) else { return 0 } return result } 다른사람의 풀이 func solution(_ s:String) -> Int { return Int(s)! } 배운것 String → Int로 변환하기 위해 Int( ) 메서드를 사용합니다. String의 경우 아래와 같이 Int로 변환할 수 없을 가능성도 있기 때문에 Optional 처리가 되어 결과값이 나옵니다. Int(" 100") // Includes ..
https://school.programmers.co.kr/learn/courses/30/lessons/86051 문제 사진 내 풀이 0부터 9까지의 총합은 45니까 45 - numbers 내부의 있는 총합 으로 답을 구했다. func solution(_ numbers:[Int]) -> Int { return 45 - numbers.reduce(0, +) } 다른사람의 풀이 func solution(_ numbers:[Int]) -> Int { let result = (0...9) .filter { !numbers.contains($0) } .reduce(0) { $0 + $1 } return result }
오늘은 fatal Error에 대해 공부해보려고 합니다. 예를들어 정해진 index보다 초과해서 접근하려는 경우 fatal error가 발생하기도 하고 이외에도 여러가지가 있는데요. 바로 공식문서 부터 보겠습니다. Fatal Error 무조건 실행을 중지하고 메시지를 출력합니다. 정의 func fatalError( _ message: @autoclosure () -> String = String(), file: StaticString = #file, line: UInt = #line ) -> Never (으.. Never는 또 뭐야..) Never는 값이 없는 타입을 말한다네요. (정상적으로 리턴하지 않는 함수의 리턴 타입) 즉, fataError는 메소드에서 리턴할 것이 없을때, 생각지 못한 에러가 ..
- Total
- Today
- Yesterday
- 2023년 회고
- Swift 프로그래머스
- Swift inout
- removeLast()
- Swift final
- Swift Error Handling
- swift reduce
- swift programmers
- Swift 프로퍼티
- Swift RIBs
- iOS error
- Swift joined()
- RTCCameraVideoCapturer
- RIBs tutorial
- CS 네트워크
- swift 고차함수
- Swift 알고리즘
- Swift ModernRIBs
- Combine: Asynchronous Programming with Swift
- ios
- Swift joined
- Swift Leetcode
- 원티드 프리온보딩
- Swift 내림차순
- Swift init
- swift property
- swift protocol
- swift (programmers)
- Swift
- Class
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |