전체 글79 퀵 정렬 지난 게시글과 이어지는 내용입니다 퀵 정렬 quick sort - 빠른 정렬 알고리즘 - 배열의 원소를 나누어 계산하는 원리 - 대표적인 분할 정복 방법 중 하나 - 특정한 값을 기준으로 큰 숫자와 작은 숫자를 나눈다. 특정한 값 = 피벗 (pivot) 보통 첫 번째 값으로 잡음 과정 피벗을 기준으로 왼쪽에서는 피벗보다 큰 숫자, 오른쪽에서는 피벗보다 작은 숫자를 고른다. 자리를 바꿔준다. 계속 수행한다. 엇갈리는 상황이 온다면? → 왼쪽에 있는 값(작은 값)과 피벗을 바꾸어준다. 엇갈린다 == 작은 값의 index가 큰 값의 index보다 큰 상황 피벗이 정렬되면 다시 왼쪽 / 오른쪽 집합으로 나누어 정렬을 수행한다. - 즉 퀵 정렬은 분할한 뒤에 더하면 전체적으로 봤을 때 연산 횟수가 훨씬 줄어드는 .. 2021. 8. 26. swift 문법 기초 3/7 (nil, Optional) 코드 출처 - 박교수의 Swift강좌13 & iOS 프로그래밍을 위한 Swift 기초 강의 nil Objective-C 에서의 nil 사용은 '존재하지 않는 객체에 대한 포인터'를 의미한다. ex) 네트워크로 정보를 받아오는 프로그램 네트워크의 사정 상 정보를 전송할 수 없다면? → nil 들어옴 → 심각한 문제 초래할 수 있음 nil의 객체에 대해 메시지 호출을 할 경우 program crash가 발생할 수 있다. 처리할 수 없는 값이기 때문 Swift에서의 nil은 '데이터가 없음'을 의미한다. nil 값 Swift는 안전성(Safety)를 중요하게 생각하는 언어이다. 그렇기 때문에 변수나 객체가 nil이 될 수 없다. ex) 객체가 nil이 된다면? 메시지를 줄 경우 crash가 발생한다. 프로그램.. 2021. 8. 25. swift 문법 기초 2/7 코드 출처 - iOS 프로그래밍을 위한 Swift 기초 강의 함수기본 선언 func 함수명 (매개변수이름1: 매개변수1타입, 매개변수2이름: 매개변수2타입...) -> 반환타입 { /* 구현 */ return 반환값 } 호출 함수명(매개변수명: 값, ...) 소스코드 https://github.com/EunHee-Jeong/Swift/blob/aea52c15a50a8d3cbfd67b90aa0cce1cba781e9c/bc_function_vasic.playground/Contents.swift 함수고급 매개변수의 기본값은 매개변수 목록의 맨 뒤에 위치하는 것이 좋다. 가변 매개변수를 사용할 때도 마찬가지 가변 매개변수는 함수당 하나만 가질 수 있다. 함수 호출 시 매개변수의 역할을 더 명확히 하거나, 사용.. 2021. 8. 25. 이전 1 ··· 17 18 19 20 21 22 23 ··· 27 다음