일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- windosw 문자열
- pwnable.kr
- Stack
- 백준
- HTML
- 재귀
- OSI
- 정렬 알고리즘
- C
- System
- SWiFT
- ftz level13
- ftz
- Java
- LoB
- 자료구조
- 암호수학
- PHP
- web
- c언어
- 스택
- level13
- 미로 탐색 알고리즘
- 파일 시스템
- 큐
- 파이썬
- 두근두근 자료구조
- windosws wbcs
- 시간복잡도
- War Game
- Today
- Total
목록Programming (130)
나의 기록, 현진록

스위프트 프로그래밍 3판 - 야곰 지음 스위프트의 특징 중 하나인 안정성을 문법으로 담보하는 기능이다. 다른 언어에서는 찾아볼 수 없는 개념이기도 하다. 옵셔널은 선택적으로 값을 가질 수 있다. 즉, 값이 "있을 수도, 없을 수도" 있다. 안철수 같은 개념. 옵셔널의 개념은 함수형 프로그래밍 패러다임에서 자두 등장하는 모나드 개념과 나란히 할 수 있다. 모나드는 추후에 포스팅할 것이다. 옵셔널 변수 또는 상수 등은 데이터 타입 뒤에 ?를 붙여 표현할 수 있다. var myName: String = "hyunjin" myName = nil // error 옵셔널로 선언되지 않은 변수에 nil을 할당할 수 없다. var myName: String? = "hyunjin" print(myName) myName ..

스위프트 프로그래밍 3판 - 야곰 지음 7.3 중첩함수 swift는 데이터 타입의 중첩이 자유롭다. 열거형 안에 열거형, 클래스 안에 또 다른 클래스 구현이 가능하여 다른 프로그래밍 언어에서는 생각하지 못 했던 패턴을 자유롭게 만들어볼 수 있다. [Swift] 7 함수 / 함수 정의와 호출 / 매개변수 스위프트 프로그래밍 3판 - 야곰 지음 7.1 함수와 메서드 함수와 메서드는 기본적으로 같다. 다만 상황이나 위치에 따라 다른 용어로 부르는 것뿐이다. 메서드 : 구조체, 클래스, 열거형 등 특정 wisetrue.tistory.com 함수의 중첩은 함수 안에 함수를 넣을 수 있다는 의미인데 이전 글에서 사용했던 함수는 특별한 위치에 속해 있지 않는 한 모두 전역함수이다. 즉, 모듈 어디서든 사용할 수 있는..

스위프트 프로그래밍 3판 - 야곰 지음 7.1 함수와 메서드 함수와 메서드는 기본적으로 같다. 다만 상황이나 위치에 따라 다른 용어로 부르는 것뿐이다. 메서드 : 구조체, 클래스, 열거형 등 특정 타입에 연관되어 사용하는 함수 함수 : 모듈 전체에서 전역적으로 사용할 수 있는 함수 즉, 함수가 위치하거나 사용되는 범위 등에 따라 호칭이 달라질 뿐, 함수라는 것 자체에는 변함이 없다. swift의 기본적인 함수 형태이다. func 함수이름(매개변수...) -> 반환타입{ 실행구문 return 반환값 } func hello(name: String) -> String{ return "Hello \(name)" } let helloJenny: String = hello(name: "Jenny") print(he..

dbguswls030/Argorithm Contribute to dbguswls030/Argorithm development by creating an account on GitHub. github.com 더보기 고대 인도의 베나레스에는 세계의 중심이 있고, 그 곳에는 아주 큰 사원이 있었다. 이 사원에는 높이 50cm 정도 되는 다이아몬드 막대 3개가 있는데, 그 중 한 막대에는 천지 창조 때에 신이 구멍이 뚫린 64장의 순금으로 된 원판을 크기가 큰 것부터 아래에 놓이도록 하면서 차례로 쌓아 놓았다. 그리고 신은 승려들에게 밤낮으로 쉬지 않고 한 장씩 원판을 옮기어 빈 다이아몬드 막대 중 어느 한 곳으로 모두 옮겨 놓도록 명령하였다................................... 조건 ..
dbguswls030/Argorithm Contribute to dbguswls030/Argorithm development by creating an account on GitHub. github.com 재귀 호출로 구현할 수 있는 가장 대표적인 예 중 하나가 피보나치 수열이다. 앞의 두 개의 숫자를 더해 뒤의 숫자를 만들면 된다. 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89.... func fib(_ n: Int) -> Int{ if n == 0{ return 0 } else if n == 1{ return 1 } else{ return fib(n-1) + fib(n-2) } } 이 함수는 단순하고 이해하기 쉽게 재귀 호출로 구현되었지만 사실 매우 비효율적이다. 그 이유는 ..
[분할정복] [Swift] Data Structure recursion / divide and conquer, D&C / 자료구조 순환, 재귀 / 분할정복 dbguswls030/Argorithm Contribute to dbguswls030/Argorithm development by creating an account on GitHub. github.com 순환(recursion), 또는 재귀 호출이란 어떤 알고리즘이나 함수가 자시 자신을 호출하여.. wisetrue.tistory.com x의 n승 거듭제곱을 하기 위한 함수를 작성하였다. recursion을 생각하지 않고 작성한다면 다음과 같이 작성할 것이다. func slow_power(_ x: Double, _ n: Int) -> Double{ v..
dbguswls030/Argorithm Contribute to dbguswls030/Argorithm development by creating an account on GitHub. github.com 순환(recursion), 또는 재귀 호출이란 어떤 알고리즘이나 함수가 자시 자신을 호출하여 문제를 해결하는 프로그래밍 기법이다. 순환이란? 순환은 본질적으로 순환적인 문제나 그러한 자료구조를 다루는 프로그램에 적합하다. 정수 팩토리얼은 순환의 예가 될 수 있다. n!은 다음과 같이 정의할 수 있다. if n = 0 { n! = 1 } else if n>=1 { n! = n * (n-1) } n! 을 정의하는데 다시 팩토리얼 (n-1)!이 사용된 것에 주목하라. 이러한 정의를 순환적이라고 한다. 위 정..

스위프트 프로그래밍 3판 - 야곰 지음 6.1.2 switch swift에서 기본 문법인 switch 구문은 다른 언어와 비교하였을 때 많이 달라진 문법 중 하나이다. 소괄호를 생략할 수 있으며, break 키워드를 사용하지 않아도 case 내부의 코드를 모두 실행하면 switch 구문이 종료된다. 만약 case를 연속하여 실행하고 싶을 경우 fallthrough 키워드를 사용한다. swift에서 switch 구문의 조건에 다양한 값이 들어갈 수 있습니다. (C언어에서는 정수 타입만 들어갈 수 있음) 다만 각 case에 들어갈 비교 값은 입력 값과 데이터 타입이 같아야 한다. 또, 비교될 값이 명확히 한정적인 값(열거형 등)이 아닐 때는 default를 꼭 작성해야 한다. 각 case에는 범위 연산자를 ..

스위프트 프로그래밍 3판 - 야곰 지음 4.5.5 순환 열거형 순환 열거형은 열거형 항목의 연관 값이 열거형 자신의 값이고자 할 때 사용한다. indirect 키워드를 사용하면 되는데 특정 항목에만 한정하고 싶다면 case 앞에, 열거형 전체에 적용하고 싶다면 enum 키워드 앞에 indirect 키워드를 붙이면 된다. 특정 항목에 순환 열거형 명시 enum ArithmeticExpression{ case Number(Int) indirect case addition(ArithmeticExpression, ArithmeticExpression) indirect case multiplication(ArithmeticExpression, ArithmeticExpression) } 열거형 전체에 순환 열거형 ..

스위프트 프로그래밍 3판 - 야곰 지음 스위프트의 열거형 각 항목이 연관 괎을 가지게 되면, 기존 프로그래밍 언어의 공용체 형태를 띌 수도 있습니다. 열거형 내의 항목(case)이 자신과 연관된 값을 가질 수 있습니다. 연관 값은 각 항목 옆에 소괄호로 묶어 표현할 수 있습니다. 이 때 다른 항목이 연관 값을 가진다고 모든 항목이 연관 값을 가질 필요는 없습니다. enum MainDish{ case pasta(taste: String) case pizza(dough: String, topping: String) case chicken(withSauce: Bool) case rice } var dinner: MainDish = MainDish.pasta(taste: "크림") dinner = .pizza(..