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

스위프트 프로그래밍 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(..
스위프트 프로그래밍 3판 - 야곰 지음 열거형 열거형은 연관된 항목들을 묶어서 표현할 수 있는 타입입니다. 열거형은 배열이나 딕셔너리 같은 타입과 다르게 프로그래머가 정의해준 항목 값 외에는 추가/수정이 불가합니다. 그렇기 때문에 딱 정해진 값만 열거형 값에 속할 수 있습니다. 열거형은 다음 같은 경우에 요긴하게 사용할 수 있습니다. 제한된 선택지를 주고 싶을 때 정해진 값 외에는 입력 받고 싶지 않을 때 예상된 입력 값이 한정되어 있을 때 열거형으로 묶을 수 있는 항목들은 주변 생활에서 많이 찾아볼 수 있습니다. 무선통식 방식 : WiFi, 블루투스, LTE 등 학생 : 초등학생, 중학생, 고등학생 등 지역 : 강원도, 경기도, 경상도, 전라도 등 다른 프로그래밍 언어를 사용해봤다면 조금 의아할 수 있..
swift 프로그래밍 3판 - 야곰 지음 함수형 프로그래밍 패러다임 함수형 프로그래밍 패러다임의 가장 큰 장점은 대규모 병렬처리가 쉽다는 점이다. 함수형 프로그래밍 패러다임은 프로그램이 상태의 변화 없이 데이터 처리를 수학적 함수 계산으로 취급하고자 하는 패러다임이다. 기존 객체지향 프로그래밍 패러다임이나 명령형 프로그래밍 패러다임에서는 프로그램에서 값이나 상태의 변화를 중요하게 여기지만 함수형 프로그래밍 패러다임은 함수 자체의 응용을 중요하게 여긴다. 수학적 함수와 명령형 함수의 차이점은 코드 이해와 실행 결과의 관점에서도 큰 차이를 보입니다. 명령형 함수를 이용하는 객체지향 프로그래밍은 과거의 유산이라고도 볼 수 있는 절차지향 프로그래밍 패러다임이 포함되어 있다. 그래서 함수 실행 시 함수가 전달 받..

객체 지향은 현대 프로그래밍 언어에서 대부분 차용하고 있다. 객체지향 프로그래밍 패러다임 객체지향 프로그래밍 패러다임은 컴퓨터 프로그래밍 패러다임의 한 종류로 객체지향 프로그래밍(OOP : Object-Oriented Programming)이라고도 불립니다. 객체지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 기존의 명령형 프로그래밍 패러다임의 시각에서 벗어나 여러 개의 독립된 단위인 객체의 모임으로 파악하고자 하는 시각입니다. 각각의 객체는 서로 메시지를 주고 받고 데이터를 처리할 수 있습니다. 객체지향 프로그래밍은 프로그램을 유연하고 쉽게 변경할 수 있도록 작성할 수 있어 대규모 소프트웨어 개발에 많이 사용됩니다. 또한 객체만 잘 이해하면 프로그래밍을 더 쉽게 배울 수 있고, 소프트웨어 개..

필수 명명 규칙 변수, 상수, 함수, 메서드, 타입 등의 이름은 유니코드에서 지원하는 어떤 문자라도 사용 가능하다. 단, 다음 과 같은 예외 경우에는 사용할 수 없다. - 스위프트에서 미리 정한 예약어 또는 키워드 - 해당 코드 범위 내에서 미리 사용되는 기존 이름과 동일한 이름 - 연산자로 사용될 수 있는 기호(+, -, *, /) - 숫자로 시작하는 이름 - 공백이 포함되는 이름 함수, 메서드, 인스턴스 이름은 첫 글자를 소문자로 사용하는 소문자 카멜케이스(Lower Camel Case)를 사용합니다. 클래스, 구조체, 익스텐션, 프로토콜, 열거형 이름은 타입의 이름이기 때문에 첫 글자를 대문자로 사용하는 대문자 카멜케이스(Upper Camel Case)를 사용합니다. 대소문자를 구별합니다. ex) ..
10809번 - 알파벳 찾기 시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율 1 초 256 MB 62169 33283 28256 54.605% 문제 알파벳 소문자로만 이루어진 단어 S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 단어 S가 주어진다. 단어의 길이는 100을 넘지 않으며, 알파벳 소문자로만 이루어져 있다. 출력 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출력한다. 단어의 첫 번째 글자는 0번째 위치이고..