
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는 메소드에서 리턴할 것이 없을때, 생각지 못한 에러가 ..

기본연산자 외에 Swift에서는 더 복잡한 값을 조작할 수 있는 고급연산자를 제공합니다. 비트 연산자 (Bitwise Operators) 비트연산자를 사용하면 데이터 구조 내에서 개별 원시 데이터 비트를 조작할 수 있습니다. 그래픽 프로그래밍, 디바이스 드라이버 생성과 같은 Low-level 프로그래밍에 자주 사용됩니다. Swift는 C에서의 모든 비트연산자를 지원합니다. 비트 NOT 연산자 (Bitwise NOT operator) ( ~ ) 키워드를 사용하여, 비트 값(2진수)을 반대로 바꿔줍니다. 예시 let initialBits: UInt8 = 0b00001111 // 15 let invertedBits = ~initialBits // 240 // 1110000 (2진수) -> 240 (10진수) ..

다른소스 파일 및 모듈의 코드에서, 코드의 일부에 대한 접근을 제한 하는걸 말합니다. 객체지향에서 중요한 개념인 *은닉화를 구현하기 위해 쓰입니다. 은닉화 객체 외부에서 객체 내부의 접근을 제한해 , 데이터 수정을 방지 모듈과 소스파일 (Modules and Source Files) 모듈 코드를 배포하는 단일 단위 하나의 프레임워크 즉, import 해오는것 예를들어 import Foundation import Alamofire 이런게 모듈입니다. 소스파일 모듈안에 있는 소스파일을 의미합니다. 각 소스파일에 여러 특정 타입을 선언해 사용할 수 있습니다. 접근레벨 (Access Levels) 5개의 접근레벨을 제공하며 아래와 같습니다. open & public 다른 모듈에서도 사용이 가능합니다. 둘의 차이..

오늘은 Scroll Indicator를 최상단으로 이동하는 걸 블로깅 해보려고 합니다. 예를들어 앱 내에서 상품을 검색 할때 이런 상황이 있겠죠. 상품검색 > 아래로 쭉 내리면서 상품을 보다가 > 새로운 상품검색 이럴때 새 상품을 검색했기 때문에 사용자가 보는화면이 다시 최상단으로 올라가야하겠죠? 생각보다 간단합니다 ! CollectionView에서는 아래의 인스턴스 메서드를 사용하면 돼요. TableView 에서는 scrollToRow(at:at:animated:) 를 사용하시면 됩니다. 동작 방식은 똑같습니다! 첫번째 파라미터 (indexPath): 해당 item 또는 section 위치 지정 두번째 파라미터 (scrollPosition): scroll의 위치 지정 세번째 파라미터 (animated)..

오늘은 안전하게 배열을 조회하는 방법에 대해 알아 보려고 합니다. 아래와 같이 배열을 조회하다 엉뚱한 index에 접근하게 되면, 이런 에러를 많이 보실겁니다. let arr = [1, 2, 3] for index in 0...10 { print(arr[index]) // Fatal error: Index out of range } Fatal error: Index out of range Array(배열)의 경우에는 index를 접근해서 가져오는 값이 Optional이 아니라 guard를 쓸 수도 없어 index가 유효하지 않을 경우 꼼짝없이 앱이 다운되어 버립니다. 이런 오류를 방지하기 위해 extension을 이용해 아래와 같은 코드를 적용해줍니다. extension Array { subscript ..
- Total
- Today
- Yesterday
- Swift Leetcode
- swift property
- Swift
- 원티드 프리온보딩
- Swift ModernRIBs
- removeLast()
- swift protocol
- swift reduce
- Combine: Asynchronous Programming with Swift
- iOS error
- Swift joined()
- Swift RIBs
- Swift 프로퍼티
- CS 네트워크
- Swift 프로그래머스
- Swift 내림차순
- RTCCameraVideoCapturer
- Swift joined
- ios
- swift 고차함수
- swift programmers
- Swift inout
- swift (programmers)
- Swift final
- Class
- 2023년 회고
- RIBs tutorial
- Swift 알고리즘
- Swift init
- Swift Error Handling
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |