- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 다트
- programmer
- 디자인 패턴
- programmers
- 프로그래머스
- swift 코딩테스트
- 정렬
- coding test
- 코테
- 자료구조
- swift split
- datastructure
- 프로그래머스 level1
- 정렬알고리즘
- sort
- 디자인패턴
- 감성에세이
- swift 알고리즘
- 정렬 알고리즘
- 코딩테스트
- rxswift
- swift
- 프로그래머스 swift
- 프로그래머스 레벨2
- 알고리즘
- Design Pattern
- 스위프트디자인패턴
- Algorithm
- 스위프트
- dart
목록swift (55)
Bill Kim's Life...
Swift5의 Optional에 대해서 그 정의와 사용 방법에 대해서 살펴봅니다. #. 개발 환경 Xcode 11.x 이상 Swift 5 Optional “변수에는 값이 들어갈 수도 있고, 아닐 수도 있어(nil)” 아래와 같이 ? 및 ! 어노테이션(Annotation) 표시를 통하여 변수 및 상수 등에서 값의 존재를 나타낼 수 있습니다. ? : 값이 있을 수도 있고 없을 수도 있다(nil) ! : 값이 무조건 있다. Nil Objective C 와 Swift에서의 nil은 아래와 같은 차이가 있습니다. Objective C : 주소값(Pointer)가 존재하지 않는 경우 Swift : 값(Value)가 없는 경우 Wrapping Optional 타입은 기본적으로 wrap되어 있는 상태입니다. 즉, Op..
알고리즘에서의 Merge Sort(병합 정렬)에 대하여 Swift를 기반으로 하여 살펴봅니다. #. 구독 대상 컴퓨터 및 소프트웨어 공학과 관련자 소프트웨어 관련 종사자 기타 컴퓨터 공학에 관심이 있으신 분 알고리즘의 개념을 잡고 싶으신 분 기타 소프트웨어 개발과 지식에 관심이 있으신 모든 분들 Swift 언어를 활용하여 알고리즘을 공부해보고 싶으신 분들 Merge Sort(병합 정렬) Merge Sort(병합 정렬)는 삽입이나 선택 정렬보다 빠른 정렬 알고리즘으로서 분할 및 정복 과정을 통하여 동작하는 알고리즘입니다. 병합 정렬은 재귀 용법을 활용할 정렬 알고리즘으로서, 전체 원소를 가장 작은 단위로 분할한 후 분할한 원소를 다시 병합하면서 정렬하는 분할정복(Divide and Conquer) 방식을 ..
알고리즘에서의 Insertion Sort(삽입 정렬)에 대하여 Swift를 기반으로 하여 살펴봅니다. #. 구독 대상 컴퓨터 및 소프트웨어 공학과 관련자 소프트웨어 관련 종사자 기타 컴퓨터 공학에 관심이 있으신 분 알고리즘의 개념을 잡고 싶으신 분 기타 소프트웨어 개발과 지식에 관심이 있으신 모든 분들 Swift 언어를 활용하여 알고리즘을 공부해보고 싶으신 분들 Insertion Sort(삽입 정렬) Insertion Sort(삽입 정렬)은 정렬 알고리즘으로서 특정 배열에서 처음 요소 왼쪽부터 오른쪽으로 순차적으로 비교해가면서 정렬해 나가는 알고리즘입니다. 동작 흐름 기본적인 알고리즘의 컨셉을 살펴보면 아래와 같습니다. 1. 정렬되지 않는 배열 리스트(더미)가 있습니다. 2. 배열 리스트(더미)에서 숫자..
디자인패턴에의 Chain of Responsibility(책임 연쇄)에 대하여 Swift를 기반으로 하여 살펴봅니다. #. 구독 대상 컴퓨터 및 소프트웨어 공학과 관련자 소프트웨어 관련 종사자 기타 컴퓨터 공학에 관심이 있으신 분 디자인패턴의 개념을 잡고 싶으신 분 기타 소프트웨어 개발과 지식에 관심이 있으신 모든 분들 Swift 언어를 활용하여 디자인패턴을 공부해보고 싶으신 분들 Chain of Responsibility(책임 연쇄) Chain of Responsibility(책임 연쇄) 패턴은 연속적인 핸들러를 통해 요청을 전달하도록 하는 행동 디자인 패턴입니다. 요청을 받으면 핸들러는 요청을 처리하거나 다음 핸들러로 요청을 전달합니다. 때로는 CoR 혹은 Chain of Command라고도 불리기도..
디자인패턴에의 Iterator(반복자)에 대하여 Swift를 기반으로 하여 살펴봅니다. #. 구독 대상 컴퓨터 및 소프트웨어 공학과 관련자 소프트웨어 관련 종사자 기타 컴퓨터 공학에 관심이 있으신 분 디자인패턴의 개념을 잡고 싶으신 분 기타 소프트웨어 개발과 지식에 관심이 있으신 모든 분들 Swift 언어를 활용하여 디자인패턴을 공부해보고 싶으신 분들 Iterator(반복자) Iterator(반복자) 패턴은 데이터의 타입(리스트, 스택, 트리 등)을 드러내지 않고 컬렉션 요소를 순회할 수 있는 행동 디자인 패턴입니다. Iterator(반복자) 패턴의 주요 아이디어는 컬렉션의 순회 동작을 별도의 반복자 객체로 분리하는 것입니다. 반복자 객체는 알고리즘을 구현할뿐만 아니라 현재 위치나 남은 요소 등 모든 순..
디자인패턴에의 Visitor(방문자)에 대하여 Swift를 기반으로 하여 살펴봅니다. #. 구독 대상 컴퓨터 및 소프트웨어 공학과 관련자 소프트웨어 관련 종사자 기타 컴퓨터 공학에 관심이 있으신 분 디자인패턴의 개념을 잡고 싶으신 분 기타 소프트웨어 개발과 지식에 관심이 있으신 모든 분들 Swift 언어를 활용하여 디자인패턴을 공부해보고 싶으신 분들 Visitor(방문자) Visitor(방문자) 패턴은 객체의 구조와 기능을 분리시키는 패턴으로서 구조는 변하지 않으면서 기능을 쉽게 추가하거나 확장되어야 할 경우 사용할 수 있는 행위 관련 패턴입니다. Visitor(방문자) 패턴은 컴포지트 패턴과 연동되어 사용되는 경우가 많습니다. Visitor(방문자) 패턴의 예로서 파일 탐색기를 구현해볼수 있는데 파일 ..
디자인패턴에의 Template Method(템플릿 메소드)에 대하여 Swift를 기반으로 하여 살펴봅니다. #. 구독 대상 컴퓨터 및 소프트웨어 공학과 관련자 소프트웨어 관련 종사자 기타 컴퓨터 공학에 관심이 있으신 분 디자인패턴의 개념을 잡고 싶으신 분 기타 소프트웨어 개발과 지식에 관심이 있으신 모든 분들 Swift 언어를 활용하여 디자인패턴을 공부해보고 싶으신 분들 Template Method(템플릿 메소드) Template Method 패턴은 어떤 작업을 처리하는 일부분을 서브 클래스로 캡슐화해 전체 일을 수행하는 구조는 바꾸지 않으면서 특정 단계에서 수행하는 내역을 바꾸는 행위 관련 패턴입니다. 좀더 쉽게 설명해보면 상위 클래스에서 템플릿과 같은 틀을 제공하고 하위 클래스에서 이 틀을 이용하여 ..
디자인패턴에의 Mediator(중재자)에 대하여 Swift를 기반으로 하여 살펴봅니다. #. 구독 대상 컴퓨터 및 소프트웨어 공학과 관련자 소프트웨어 관련 종사자 기타 컴퓨터 공학에 관심이 있으신 분 디자인패턴의 개념을 잡고 싶으신 분 기타 소프트웨어 개발과 지식에 관심이 있으신 모든 분들 Swift 언어를 활용하여 디자인패턴을 공부해보고 싶으신 분들 Mediator(중재자) Mediator(미디에이터) 패턴은 복잡한 의존 관계를 줄이고자 할 때 유용한 행동 디자인 패턴입니다. 모든 클래스간의 복잡한 로직(상호작용)을 캡슐화하여 하나의 클래스에 위임하여 처리하는 패턴으로서 비슷한 패턴으로는 Facade 패턴과 Observer 패턴 등이 있습니다. 결론적으로 커뮤니케이션을 하고자 하는 객체가 있을 때 서로..