Kotlin #5. 조건문과 비교연산자 A in Int : 좌측변수가 우측 자료형에 호환되는지 체크하고, 호환가능한 경우 형변환 진행 When : 하나의 변수를 여러개의 값과 비교할 수 있음 fun doWhen(a: Any) { when(a) { 1 -> println("정수 1입니다") "Dimo" -> println("디모의 코틀린 강좌입니다") is Long -> println("long 타입입니다") !is String -> println("String 타입이 아닙니다") else -> println("어떤 조건도 만족하지 않습니다.") } } 등호나 부등호는 사용할 수 없음 여러 개의 조건이 맞을 경우에도 먼저 부합하는 조건이 실행됨 when 의 결과를 변수에 할당하거나 직접 값으로서 사용할 수..
Kotlin #3. 형변환과 배열 형변환 : 하나의 변수에 지정된 자료형을 호환되는 다른 자료형으로 변경하는 것 Int -> Long 명시적형변환 var a: Int = 54321 var b: Long = a.toLong() 암시적 형변환은 지원하지 않음 배열 : 내부적으로 Array 클래스로 제공되는 기능 배열 생성 var intArr = arrayOf(1, 2, 3, 4, 5) var nullar = arrayOfNulls(5) *크기가 지정된 빈 배열 생성 배열에 값 할당 또는 사용 intArr[2] * index는 배열내의 데이터 순번이며, 0부터 시작함 Kotlin #4. 타입추론과 함수 타입추론 : 자료형을 코드에 명시하지 않아도 자동으로 자료형을 추론해주는 기능 함수 : 특정한 동작을 하거나..
Kotlin #1. 코틀린의 시작 Kotlin : 기존에 java로 개발했던 웹서비스, 안드로이드 뿐만 아니라 javascript 및 Swift와의 연동개발도 가능 웹 IDE : play.kotlinlang.org Main 함수에서 프로그램이 시작됨 Println 함수를 통해 한줄로 출력 Kotlin #2. 변수와 자료형 // 한줄 주석 /* */ 여러줄 주석 구문이 끝나는 지점에서 ; 붙이지 않아도 됨 클래스 이름은 파스칼 표기법 : 모든 단어를 대문자로 시작 Ex) ClassName 함수나 변수 이름은 카멜 표기법 : 첫 단어만 소문자로 시작 Ex) functionName 변수의 선언 var : 일반적인 변수로 언제든지 읽기/쓰기 가능 val : 선언시 초기화 가능, 중간에 값을 변경할 수 없음. R..
애플 HIG 에 ActionSheet는 "현재 컨텍스트와 관련된 두 개 이상의 선택 항목을 표시하는 특정 유형의 경고"라고 설명합니다. iOS 에서 ActionSheet 는 UIAlertController를 이용해 만들 수 있습니다. let actionSheetController = UIAlertController(title: "제목", message: "메세지", preferredStyle: .actionSheet) //제목, 메세지 없이 let actionSheetController = UIAlertController(title: nil, message: nil, preferredStyle: .actionSheet) 먼저 UIAlertController에서 actionSheet 스타일을 선택해 Act..
그래프 데이터베이스란? 데이터를 미리 정의된 모델로 제한하지 않고 보관하기 위해, 데이터 간의 관계를 데이터 자체에 똑같이 중요한 것으로 취급하도록 설계된 데이터베이스입니다. 데이터는 각 개별 엔티티가 다른 엔티티와 어떻게 연결되어 있는지 보여줍니다. 왜 그래프 데이터베이스를 이용하나요? 기본적으로 관계를 포함하는 데이터베이스만이 연결을 효율적으로 저장 및 처리할 수 있습니다. 다른 데이터베이스는 값 비싼 JOIN 작업을 통해 관계를 계산하지만 그래프 데이터베이스는 모델의 데이터와 함께 연결을 저장합니다. 데이터 세트의 총 크기와 관계없이 그래프 데이터베이스는 연결된 데이터와 복잡한 쿼리를 관리하는 데 효율적입니다. 수백만 개의 노드와 관계에서 정보를 수집 및 집계하고 검색 경계 외부에있는 데이터는 ..
https://www.acmicpc.net/problem/2638 2638번: 치즈 첫째 줄에는 모눈종이의 크기를 나타내는 두 개의 정수 N, M (5≤N, M≤100)이 주어진다. 그 다음 N개의 줄에는 모눈종이 위의 격자에 치즈가 있는 부분은 1로 표시되고, 치즈가 없는 부분은 0으로 표 www.acmicpc.net DFS를 응용해서 풀이하였습니다. 치즈와 외부 공기의 접촉면을 구해야하기 때문에 맵의 네 모서리에서 BFS를 수행했습니다. 1. 현재 위치 (x,y)의 인접 위치(nx,ny)가 1이라면 2로 변경 2.현재 위치 (x,y)의 인접 위치(nx,ny)가 2이라면(다른 위치의 공기와 맞닿아 있고, 현재 위치와도 맞닿는 부분) 다음 루프에서 사라짐 3. 현재 위치 (x,y)의 인접 위치(nx,ny..
https://www.acmicpc.net/problem/4485 4485번: 녹색 옷 입은 애가 젤다지? 젤다의 전설 게임에서 화폐의 단위는 루피(rupee)다. 그런데 간혹 '도둑루피'라 불리는 검정색 루피도 존재하는데, 이걸 획득하면 오히려 소지한 루피가 감소하게 된다! 젤다의 전설 시리즈의 주 www.acmicpc.net 오랜만에 머리쓰는 문제를 풀었습니다.. 처음엔 BFS로 접근해서 답은 맞췄지만 시간복잡도를 줄이기 위해 다른 방법을 더 고민해보았습니다. 먼저 DP로 접근해보았는데 4방향 모두 이동 가능해서인지 원하는 답이 안나왔습니다 .ㅠㅠ 그 후 Dijkstra 로 접근해서 풀이한 결과, 시간 복잡도를 일반 BFS의 절반으로 줄일 수 있었습니다. 소스코드는 BFS , Dijkstra 버전 둘..
Swift의 클로저는 다양한 표현법을 사용할 수 있습니다. 먼저, 기본적인 클로저의 표현법을 통해 구성한 함수입니다. func calculate(a: Int, b: Int, method: (Int, Int) -> Int) -> Int { return method(a, b) } var result: Int 클로저의 다양한 표현법에 대해 알아보겠습니다. 1. 후행 클로저 - 클로저가 함수의 마지막 전달인자일 때, 마지막 매개변수 이름을 생략한 후 함수 소괄호 외부에 클로저를 구현할 수 있습니다. result = calculate(a: 10, b: 10) { (left: Int, right: Int) -> Int in return left + right } print(result) // 20 출력 2. 반환타..
- Total
- Today
- Yesterday
- 카카오인턴십
- boj
- C++
- Reactivex
- ARKit
- blendshape
- 백준온라인저지
- blendshapes
- Lottie
- cocoapods
- Swift weak
- 프로그래머스
- coreml
- disposeBag
- rxswift
- rxswift6
- Swift unowned
- Kotlin
- ios
- 백준
- GraphDB
- Swift
- infallible
- DispatchQueue
- 알고리즘
- 안드로이드
- SwiftUI
- 코코아팟
- SWEA
- UIHostingController
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |