일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ftz level13
- web
- 미로 탐색 알고리즘
- C
- War Game
- windosw 문자열
- HTML
- level13
- ftz
- 큐
- Java
- windosws wbcs
- SWiFT
- Stack
- 암호수학
- c언어
- 재귀
- 파이썬
- System
- 백준
- 스택
- LoB
- 자료구조
- 파일 시스템
- 정렬 알고리즘
- PHP
- 시간복잡도
- pwnable.kr
- 두근두근 자료구조
- OSI
- Today
- Total
목록SWiFT (11)
나의 기록, 현진록
10829번: 이진수 변환 첫째 줄에 자연수 N이 주어진다. (1 ≤ N ≤ 100,000,000,000,000) www.acmicpc.net GitHub - dbguswls030/Argorithm Contribute to dbguswls030/Argorithm development by creating an account on GitHub. github.com GitHub - dbguswls030/Argorithm Contribute to dbguswls030/Argorithm development by creating an account on GitHub. github.com 10829번 - 이진수 변환 성공 시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율 1 초 256 MB 3636 1899..
스위프트 프로그래밍 3판 - 야곰 지음 스위프트의 특징 중 하나인 안정성을 문법으로 담보하는 기능이다. 다른 언어에서는 찾아볼 수 없는 개념이기도 하다. 옵셔널은 선택적으로 값을 가질 수 있다. 즉, 값이 "있을 수도, 없을 수도" 있다. 안철수 같은 개념. 옵셔널의 개념은 함수형 프로그래밍 패러다임에서 자두 등장하는 모나드 개념과 나란히 할 수 있다. 모나드는 추후에 포스팅할 것이다. 옵셔널 변수 또는 상수 등은 데이터 타입 뒤에 ?를 붙여 표현할 수 있다. var myName: String = "hyunjin" myName = nil // error 옵셔널로 선언되지 않은 변수에 nil을 할당할 수 없다. var myName: String? = "hyunjin" print(myName) myName ..
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) } } 이 함수는 단순하고 이해하기 쉽게 재귀 호출로 구현되었지만 사실 매우 비효율적이다. 그 이유는 ..
스위프트 프로그래밍 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) } 열거형 전체에 순환 열거형 ..
swift 프로그래밍 3판 - 야곰 지음 함수형 프로그래밍 패러다임 함수형 프로그래밍 패러다임의 가장 큰 장점은 대규모 병렬처리가 쉽다는 점이다. 함수형 프로그래밍 패러다임은 프로그램이 상태의 변화 없이 데이터 처리를 수학적 함수 계산으로 취급하고자 하는 패러다임이다. 기존 객체지향 프로그래밍 패러다임이나 명령형 프로그래밍 패러다임에서는 프로그램에서 값이나 상태의 변화를 중요하게 여기지만 함수형 프로그래밍 패러다임은 함수 자체의 응용을 중요하게 여긴다. 수학적 함수와 명령형 함수의 차이점은 코드 이해와 실행 결과의 관점에서도 큰 차이를 보입니다. 명령형 함수를 이용하는 객체지향 프로그래밍은 과거의 유산이라고도 볼 수 있는 절차지향 프로그래밍 패러다임이 포함되어 있다. 그래서 함수 실행 시 함수가 전달 받..
dbguswls030/Argorithm Contribute to dbguswls030/Argorithm development by creating an account on GitHub. github.com 문제 설명 var map = [ ["1","1","1","1","1","1"], ["e","0","1","0","0","1"], ["1","0","0","0","1","1"], ["1","0","1","0","1","1"], ["1","0","1","0","0","x"], ["1","1","1","1","1","1"]] 현재 위치가 "e"일 때 "x"까지 도달하는 프로그램을 작성해야 한다. "1"은 이동할 수 없는 길이며, "0"인 길로만 이동할 수 있다. 맵은 2차원 배열로 작성되어 있으며 DFS(깊..
dbguswls030/Argorithm Contribute to dbguswls030/Argorithm development by creating an account on GitHub. github.com 원형 덱의 예 덱은 큐를 응용하여 전단(front)과 후단(rear)에서 삽입(add), 삭제(delete)가 모두 이루어진다. 선형 덱에서 배열을 원형으로 생각하면 원형 덱으로 구현할 수 있다. 원형 덱의 경우에는 front와 rear의 값이 배열의 끝인 MAX_DEQUE_SIZE-1에 도달하면 다음 증가되는 값이 0으로 되도록 한다. 구현에 필요한 요소 initDeque() : 덱을 초기화 함 add_front(e) : 주어진 요소 e를 덱의 맨 앞에 추가한다. delete_front() : 전단 ..
객체 지향은 현대 프로그래밍 언어에서 대부분 차용하고 있다. 객체지향 프로그래밍 패러다임 객체지향 프로그래밍 패러다임은 컴퓨터 프로그래밍 패러다임의 한 종류로 객체지향 프로그래밍(OOP : Object-Oriented Programming)이라고도 불립니다. 객체지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 기존의 명령형 프로그래밍 패러다임의 시각에서 벗어나 여러 개의 독립된 단위인 객체의 모임으로 파악하고자 하는 시각입니다. 각각의 객체는 서로 메시지를 주고 받고 데이터를 처리할 수 있습니다. 객체지향 프로그래밍은 프로그램을 유연하고 쉽게 변경할 수 있도록 작성할 수 있어 대규모 소프트웨어 개발에 많이 사용됩니다. 또한 객체만 잘 이해하면 프로그래밍을 더 쉽게 배울 수 있고, 소프트웨어 개..
필수 명명 규칙 변수, 상수, 함수, 메서드, 타입 등의 이름은 유니코드에서 지원하는 어떤 문자라도 사용 가능하다. 단, 다음 과 같은 예외 경우에는 사용할 수 없다. - 스위프트에서 미리 정한 예약어 또는 키워드 - 해당 코드 범위 내에서 미리 사용되는 기존 이름과 동일한 이름 - 연산자로 사용될 수 있는 기호(+, -, *, /) - 숫자로 시작하는 이름 - 공백이 포함되는 이름 함수, 메서드, 인스턴스 이름은 첫 글자를 소문자로 사용하는 소문자 카멜케이스(Lower Camel Case)를 사용합니다. 클래스, 구조체, 익스텐션, 프로토콜, 열거형 이름은 타입의 이름이기 때문에 첫 글자를 대문자로 사용하는 대문자 카멜케이스(Upper Camel Case)를 사용합니다. 대소문자를 구별합니다. ex) ..