목록App/Swift 문법 (8)
씬디의 블로그

Swift AnyObject 프로토콜을 채택함으로써 클래스 타입을 제한할 수 있다? 왜?? 왜 굳이굳이 AnyObject 프로토콜을 채택해서 클래스 타입으로 제한하는걸까?프로토콜의 채택을 클래스로 제한하는 것이 합리적이라면, 프로토콜을 클래스 전용으로 표시하여 더 나은 런타임 성능을 얻을 수 있다 프로토콜을 클래스 전용으로 표시하면 어떻게 런타임 성능을 얻을 수 있을까?프로토콜을 클래스 전용으로 표시하면, 컴파일러가 클래스만 이 프로토콜을 충족한다는 것을 기반으로 프로그램을 최적화 한다고 한다 그래서 AnyObject라는 프로토콜을 채택하게 되는데AnyObject 프로토콜은 모든 클래스 타입의 인스턴스만 담을 수 있다

Swift[올림 ceil]알고리즘 문제를 풀다가 나머지가 있을 경우, 반올림이 아닌 아예 올림을 해버리는 친구가 필요했다그래서 알게 된 ceil소수점이 0보다 큰 경우 무조건 올린다 예시ceil(5.123) // 6.0ceil(5.456) // 6.0ceil(5.512) // 6.0ceil(5.567) // 6.0ceil(5.657) // 6.0ceil(5.765) // 6.0ceil(-3.453) // -3.0ceil(-3.658) // -3.0같이 알게 된 소수점 다루는 친구들 [반올림 round]우리가 익히 알고있는 반올림처럼 동일하게소수점이 5보다 크거나 같으면 올리고, 5보다작으면 내린다 예시round(5.123) // 5.0round(5.456) // 5.0round(5.512..

Swift[고차함수 1편 reduce][고차함수 2편 map] [고차함수 filter]filter는 영어 그대로 필터링을 한다고 생각하면 된다기존 컨테이너 내부에서 조건에 맞는 데이터들을 걸러 새로운 컨테이너를 생성한다 예시let cast: Set = ["Vivien", "Marlon", "Kim", "Karl"]let shortNames = cast.filter { $0.count

Swift배열 안에서 요소들의 위치를 바꿔야 할 때 .swapAt을 사용한다var numbers = [2, 6, 4, 8]// swap 6 and 4numbers.swapAt(1, 2)print(numbers) // [ 2, 4, 6, 8 ] 예제for _ in 0..https://developer.apple.com/documentation/swift/array/swapat(_:_:) swapAt(_:_:) | Apple Developer DocumentationExchanges the values at the specified indices of the collection.developer.apple.com

Swift 내가 partial range from 범위에 관해서 작성하게 된 큰 계기는 바로 이 문제를 풀면서이다2023.11.30 - [Algorithm] - [백준] 사분면 고르기 14681 / [프로그래머스] 점의 위치 구하기 120841 Swift [백준] 사분면 고르기 14681 / [프로그래머스] 점의 위치 구하기 120841 Swift[백준] 사분면 고르기 14681 문제: https://www.acmicpc.net/problem/14681 14681번: 사분면 고르기 점 (x, y)의 사분면 번호(1, 2, 3, 4 중 하나)를 출력한다. www.acmicpc.net 흔한 수학 문제 중 하나는 주어진 점이 어느cyndi0330.tistory.com음수, 양수를 표현할 때 A0 이렇게 자연스..

Swift [고차함수 1편 reduce 관련 글] [고차함수 map]map은 데이터를 가공하고자 할 때 사용한다기존 데이터를 변형하여 새로운 컬렉션을 생성하는데, 기존 데이터는 변형되지 않는다let numbers = [1,2,3,4,5,6,7,8,9,10]func solution120809(_numbers: [Int]) -> [Int] { numbers.map { $0 * 2 } } print(numbers)// [2,4,6,8,10,12,14,16,18,20]배열 내부에 들어있는 요소들의 값을 어떻게 바꿀 것인지 결정한다 고차함수 체고

Swift삼항연산자는 앞은 true, 뒤는 false라고 생각하면 된다.? = true, : = false 조건을 확인하고 true이면 앞에 있는 값을 반환하고false이면 뒤에 있는 값을 반환한다. 삼항연산자는 언제 쓸까?if welcome { print("안녕하세요!")} else { print("누구세요?")} 이렇게 if 문을 사용할 수도 있지만, let welcome = trueprint(welcome ? "안녕하세요!" : "누구세요?")//print = 환영합니다! 삼항 연산자를 사용하면 조건에 따라 두 결과 중 하나를 선택할 수 있으며간결하게 수행 할 수 있다 https://developer.apple.com/documentation/swift/operator-declarat..

Swift reduce를 알기 전에 우선 고차함수란 무엇일까????? [고차함수]고차함수는 다른 함수를 전달인자로 받거나 함수 실행의 결과를 함수로 반환하는 함수 를 뜻한다.네?잘 이해는 못하겠지만,,예시를 통해 이해해보는걸로,,Swift에서 유용하게 사용할 수 있는 함수라 쓰면서 알아봐야지 [고차함수 reduce]reduce는 배열의 요소를 합쳐주기 위해 사용한다reduce를 이해하기에는 숫자 합 예제가 최고! 보통 배열의 요소들의 합을 구하기 위해선자연스럽게 for문을 사용했다let numbers = [1,2,3,4,5,6,7,8,9,10]let sum = numbers.reduce(0,+)print(sum) // 55하지만 고차함수 reduce를 사용하면코드를 간결하게 작성할 수 있다