- 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 |
- swift 알고리즘
- 프로그래머스
- Algorithm
- 스위프트디자인패턴
- Design Pattern
- programmers
- programmer
- 알고리즘
- 프로그래머스 swift
- coding test
- 디자인패턴
- swift
- 감성에세이
- swift 코딩테스트
- swift split
- rxswift
- 프로그래머스 레벨2
- 정렬 알고리즘
- 코테
- dart
- 정렬알고리즘
- 자료구조
- 정렬
- datastructure
- 프로그래머스 level1
- 다트
- 디자인 패턴
- sort
- 코딩테스트
- 스위프트
목록전체 글 (173)
Bill Kim's Life...
알고리즘에서의 Insertion Sort(삽입 정렬)에 대하여 Swift를 기반으로 하여 살펴봅니다. #. 구독 대상 컴퓨터 및 소프트웨어 공학과 관련자 소프트웨어 관련 종사자 기타 컴퓨터 공학에 관심이 있으신 분 알고리즘의 개념을 잡고 싶으신 분 기타 소프트웨어 개발과 지식에 관심이 있으신 모든 분들 Swift 언어를 활용하여 알고리즘을 공부해보고 싶으신 분들 Insertion Sort(삽입 정렬) Insertion Sort(삽입 정렬)은 정렬 알고리즘으로서 특정 배열에서 처음 요소 왼쪽부터 오른쪽으로 순차적으로 비교해가면서 정렬해 나가는 알고리즘입니다. 동작 흐름 기본적인 알고리즘의 컨셉을 살펴보면 아래와 같습니다. 1. 정렬되지 않는 배열 리스트(더미)가 있습니다. 2. 배열 리스트(더미)에서 숫자..
알고리즘에서의 Binary Search(이진 탐색)에 대하여 Swift를 기반으로 하여 살펴봅니다. #. 구독 대상 컴퓨터 및 소프트웨어 공학과 관련자 소프트웨어 관련 종사자 기타 컴퓨터 공학에 관심이 있으신 분 알고리즘의 개념을 잡고 싶으신 분 기타 소프트웨어 개발과 지식에 관심이 있으신 모든 분들 Swift 언어를 활용하여 알고리즘을 공부해보고 싶으신 분들 Linear Search(선형 탐색) Linear Search는 가장 단순한 방식의 탐색 방법입니다. 배열의 요소를 처음부터 끝까지 순차적으로 순회하며 원하는 요소를 찾는 방식입니다. 최악의 경우는 모든 배열을 순회하고 나서야 값을 찾거나 찾지 못할 수 있습니다. 따라서 시간복잡도가 0(n)이 될 수 있는 알고리즘입니다. Binary Search(..
알고리즘에서의 Recursive(재귀)에 대하여 Swift를 기반으로 하여 살펴봅니다. #. 구독 대상 컴퓨터 및 소프트웨어 공학과 관련자 소프트웨어 관련 종사자 기타 컴퓨터 공학에 관심이 있으신 분 알고리즘의 개념을 잡고 싶으신 분 기타 소프트웨어 개발과 지식에 관심이 있으신 모든 분들 Swift 언어를 활용하여 알고리즘을 공부해보고 싶으신 분들 Recursive(재귀) Recursive는 우리말로 풀이하면 ‘재귀’ 라는 단어로서 컴퓨터 과학(CS)에서의 재귀는 자신을 정의할 때 자기 자신을 재참고 하는 방법을 뜻합니다. 이를 프로그래밍에서 적용하면 재귀 호출(Recursive call)의 형태로 많이 사용합니다. [재귀 호출의 예] Recursive Function Recursive Function이..
디자인패턴에의 전반적인 개요 및 목적 그리고 종류에 대하여 Swift를 기반으로 하여 살펴봅니다. #. 구독 대상 컴퓨터 및 소프트웨어 공학과 관련자 소프트웨어 관련 종사자 기타 컴퓨터 공학에 관심이 있으신 분 디자인패턴의 개념을 잡고 싶으신 분 기타 소프트웨어 개발과 지식에 관심이 있으신 모든 분들 Swift 언어를 활용하여 디자인패턴을 공부해보고 싶으신 분들 Design Pattern? 디자인 패턴이란 용어와 방법론은 사실 건축학 영역에서 고안이 되어 그 시초를 바탕으로 하여 여러 다양한 분야에서도 많이 도입되고 있습니다. 건축학에서의 디자인 패턴은 건축가 크리스토퍼 알렉산더가 제안한 건축의 기법을 틀로 고안한 아이디어였습니다. 이 디자인 패턴을 이용하는 방식은 건물 또는 도시의 설계를, 이전에 벌어..
디자인패턴에의 Memento(메멘토)에 대하여 Swift를 기반으로 하여 살펴봅니다. #. 구독 대상 컴퓨터 및 소프트웨어 공학과 관련자 소프트웨어 관련 종사자 기타 컴퓨터 공학에 관심이 있으신 분 디자인패턴의 개념을 잡고 싶으신 분 기타 소프트웨어 개발과 지식에 관심이 있으신 모든 분들 Swift 언어를 활용하여 디자인패턴을 공부해보고 싶으신 분들 Memento(메멘토) Memento(메멘토) 패턴은 객체의 상태를 저장하고 복원할 수 있는 행동 디자인 패턴입니다. 기본 오리지날 객체는 본래의 기능에만 충실하고 상태 정보에 대한 관리를 메멘토 객체에게 전담하여 상태를 저장하고 복원할 수 있게 한다. 구조 Memento(메멘토) 패턴을 UML로 도식화하면 아래와 같습니다. Originator : 상태값을 ..
디자인패턴에의 Chain of Responsibility(책임 연쇄)에 대하여 Swift를 기반으로 하여 살펴봅니다. #. 구독 대상 컴퓨터 및 소프트웨어 공학과 관련자 소프트웨어 관련 종사자 기타 컴퓨터 공학에 관심이 있으신 분 디자인패턴의 개념을 잡고 싶으신 분 기타 소프트웨어 개발과 지식에 관심이 있으신 모든 분들 Swift 언어를 활용하여 디자인패턴을 공부해보고 싶으신 분들 Chain of Responsibility(책임 연쇄) Chain of Responsibility(책임 연쇄) 패턴은 연속적인 핸들러를 통해 요청을 전달하도록 하는 행동 디자인 패턴입니다. 요청을 받으면 핸들러는 요청을 처리하거나 다음 핸들러로 요청을 전달합니다. 때로는 CoR 혹은 Chain of Command라고도 불리기도..
디자인패턴에의 Iterator(반복자)에 대하여 Swift를 기반으로 하여 살펴봅니다. #. 구독 대상 컴퓨터 및 소프트웨어 공학과 관련자 소프트웨어 관련 종사자 기타 컴퓨터 공학에 관심이 있으신 분 디자인패턴의 개념을 잡고 싶으신 분 기타 소프트웨어 개발과 지식에 관심이 있으신 모든 분들 Swift 언어를 활용하여 디자인패턴을 공부해보고 싶으신 분들 Iterator(반복자) Iterator(반복자) 패턴은 데이터의 타입(리스트, 스택, 트리 등)을 드러내지 않고 컬렉션 요소를 순회할 수 있는 행동 디자인 패턴입니다. Iterator(반복자) 패턴의 주요 아이디어는 컬렉션의 순회 동작을 별도의 반복자 객체로 분리하는 것입니다. 반복자 객체는 알고리즘을 구현할뿐만 아니라 현재 위치나 남은 요소 등 모든 순..
디자인패턴에의 State(상태)에 대하여 Swift를 기반으로 하여 살펴봅니다. #. 구독 대상 컴퓨터 및 소프트웨어 공학과 관련자 소프트웨어 관련 종사자 기타 컴퓨터 공학에 관심이 있으신 분 디자인패턴의 개념을 잡고 싶으신 분 기타 소프트웨어 개발과 지식에 관심이 있으신 모든 분들 Swift 언어를 활용하여 디자인패턴을 공부해보고 싶으신 분들 State(상태) State(상태) 패턴은 객체 내부의 상태에 따라서 객체가 다른 행동을 할 수 있게 해주는 패턴입니다. 즉 객체의 상태만 변경해주어도 다른 행동을 하는 객체로 만들어줍니다. 상태 패턴은 유한 상태 머신과도 밀접한 관련이 있습니다. 다만 조건문에 기반한 상태 머신의 단점은, 상태의 수와 상태에 따른 동작이 추가될 때에 크게 드러납니다. 대부분의 메..