일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- windosws wbcs
- LoB
- 파이썬
- level13
- War Game
- c언어
- web
- 자료구조
- 백준
- Stack
- pwnable.kr
- 시간복잡도
- SWiFT
- 큐
- HTML
- windosw 문자열
- ftz
- System
- PHP
- OSI
- 두근두근 자료구조
- 파일 시스템
- Java
- 재귀
- 스택
- 정렬 알고리즘
- C
- 암호수학
- ftz level13
- 미로 탐색 알고리즘
- Today
- Total
목록Programming (117)
나의 기록, 현진록
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/TKgaS/btq84KoFJY0/Tu4rvaKcFM9T7wNR8mjXs0/img.jpg)
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)!이 사용된 것에 주목하라. 이러한 정의를 순환적이라고 한다. 위 정..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bg1pZ2/btq8H33tBpn/7duO62V0WABZ8K0lYaCSgk/img.png)
스위프트 프로그래밍 3판 - 야곰 지음 6.1.2 switch swift에서 기본 문법인 switch 구문은 다른 언어와 비교하였을 때 많이 달라진 문법 중 하나이다. 소괄호를 생략할 수 있으며, break 키워드를 사용하지 않아도 case 내부의 코드를 모두 실행하면 switch 구문이 종료된다. 만약 case를 연속하여 실행하고 싶을 경우 fallthrough 키워드를 사용한다. swift에서 switch 구문의 조건에 다양한 값이 들어갈 수 있습니다. (C언어에서는 정수 타입만 들어갈 수 있음) 다만 각 case에 들어갈 비교 값은 입력 값과 데이터 타입이 같아야 한다. 또, 비교될 값이 명확히 한정적인 값(열거형 등)이 아닐 때는 default를 꼭 작성해야 한다. 각 case에는 범위 연산자를 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/MrXMi/btq8Cjld8o6/7FQZsXO88bti327fZoEFkk/img.png)
스위프트 프로그래밍 3판 - 야곰 지음 4.5.5 순환 열거형 순환 열거형은 열거형 항목의 연관 값이 열거형 자신의 값이고자 할 때 사용한다. indirect 키워드를 사용하면 되는데 특정 항목에만 한정하고 싶다면 case 앞에, 열거형 전체에 적용하고 싶다면 enum 키워드 앞에 indirect 키워드를 붙이면 된다. 특정 항목에 순환 열거형 명시 enum ArithmeticExpression{ case Number(Int) indirect case addition(ArithmeticExpression, ArithmeticExpression) indirect case multiplication(ArithmeticExpression, ArithmeticExpression) } 열거형 전체에 순환 열거형 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/biBRqf/btq8ChU0n3h/ObFFeSXMNcN6LZ88otRZvk/img.png)
스위프트 프로그래밍 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(..
스위프트 프로그래밍 3판 - 야곰 지음 열거형 열거형은 연관된 항목들을 묶어서 표현할 수 있는 타입입니다. 열거형은 배열이나 딕셔너리 같은 타입과 다르게 프로그래머가 정의해준 항목 값 외에는 추가/수정이 불가합니다. 그렇기 때문에 딱 정해진 값만 열거형 값에 속할 수 있습니다. 열거형은 다음 같은 경우에 요긴하게 사용할 수 있습니다. 제한된 선택지를 주고 싶을 때 정해진 값 외에는 입력 받고 싶지 않을 때 예상된 입력 값이 한정되어 있을 때 열거형으로 묶을 수 있는 항목들은 주변 생활에서 많이 찾아볼 수 있습니다. 무선통식 방식 : WiFi, 블루투스, LTE 등 학생 : 초등학생, 중학생, 고등학생 등 지역 : 강원도, 경기도, 경상도, 전라도 등 다른 프로그래밍 언어를 사용해봤다면 조금 의아할 수 있..
swift 프로그래밍 3판 - 야곰 지음 함수형 프로그래밍 패러다임 함수형 프로그래밍 패러다임의 가장 큰 장점은 대규모 병렬처리가 쉽다는 점이다. 함수형 프로그래밍 패러다임은 프로그램이 상태의 변화 없이 데이터 처리를 수학적 함수 계산으로 취급하고자 하는 패러다임이다. 기존 객체지향 프로그래밍 패러다임이나 명령형 프로그래밍 패러다임에서는 프로그램에서 값이나 상태의 변화를 중요하게 여기지만 함수형 프로그래밍 패러다임은 함수 자체의 응용을 중요하게 여긴다. 수학적 함수와 명령형 함수의 차이점은 코드 이해와 실행 결과의 관점에서도 큰 차이를 보입니다. 명령형 함수를 이용하는 객체지향 프로그래밍은 과거의 유산이라고도 볼 수 있는 절차지향 프로그래밍 패러다임이 포함되어 있다. 그래서 함수 실행 시 함수가 전달 받..
dbguswls030/Argorithm Contribute to dbguswls030/Argorithm development by creating an account on GitHub. github.com 1012번 - 유기농 배추 시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율 1 초 512 MB 76919 29055 19616 35.984% 문제 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 효과적인 배추흰지렁이를 구입하기로 결심한다. 이 지렁이는 배추근처에 서식하며 해충을 잡아 먹음으로써 배추를 보호한다. 특히, 어떤 배추에 배추흰지렁이가 한 마리라도 살고 있..