일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ios 개발 시작
- 날씨 앱
- SwiftUI
- supervisely
- swift 배열
- swift 시작
- c언어
- 최솟값 만들기
- Kakao
- 카카오 2019
- 문제
- coco 데이터셋
- 파이썬
- kakao 2018
- roboflow
- 카카오 2020
- 카카오
- 프로그래머스 답
- Python
- 소수
- 머신러닝
- 카카오 2018
- 스위프트
- 카카오 2021
- 데이터셋 만들기
- fast.ai
- 이미지학습
- Siwft
- swift
- 프로그래머스
- Today
- Total
목록전체 글 (94)
잡초의 일지
import Foundation func solution(_ heights:[Int]) -> [Int] { var arr: [Int] = [] var count: Int = 0 for var i in 1...heights.count - 1 { // i는 4부터 1까지 i = heights.count - i for var j in 1...i { // j는 i-1부터 0까지 j = i - j if heights[j] > heights[i] { arr.insert(j+1, at: 0) count = arr.count break }else{ count += 1 } } if arr.count != count { arr.insert(0, at: 0) } } arr.insert(0, at: 0) return arr ..
@escaping A closure is said to escape a function when the closure is passed as an argument to the function, but is called after the function returns. 클로저는 함수에 argument(인자)로 전달되었지만, 함수가 리턴 된 후 실행될 때 함수를 escape한다. escape 란 '탈출' 이라는 뜻이 아니라, 함수 외부로 보낼 수 있다는 뜻으로 쓰인다. 함수를 호출하는 도중에 해당 함수 외부에 클로저를 저장하기 위해서는 클로저는 escaping closure여야 한다. hcn1519.github.io/articles/2017-09/swift_escaping_closure Swift Escap..
Animation = 시작, 끝, 시간 시간에 따라 뷰의 상태가 바뀌는것 사용자가 앱을 사용할 때 더 집중, 몰입 할 수 있다. 너무 조잡하게 쓰면 안되고! 코드 UIView.animate( withDuration: /*TimeInterval*/,//--> 애니메이션이 진행되는 시간 animations: /*() -> Void*///--> 애니메이션 클로저. 클로저에는 에니메이팅 시킬것 넣어줌. ) Layout constant 이용해서 Animation 만들기 @IBOutlet weak var imgView: UIImageView! @IBOutlet weak var nameLabel: UILabel! @IBOutlet weak var bountyLable: UILabel! @IBOutlet weak va..
Generics 제네릭 Swift 언어는 "타입" 이 있는 언어이다. 그래서 타입이 없는 변수를 가질 수 없다. 하지만, 우리가 어떤 타입이던 신경쓰지 않는 것에 대해 어떻게 명시할 수 있을까? 우리는 generics라고 하는 "dont care" 타입을 쓴다. ("dont care" 타입이라고 부르지만, 사실은 type parameter이다.) 그 대표적인 예시가 Array이다. Array는 "배열". 즉, 어떤것들을 모아놓은 것이다. 그리고 그것들이 어떤 타입인지 신경쓰지 않는다. 하지만, Array안에 포함하고 있는 변수가 있다. 그리고 그것들은 타입이 필요하다. 그리고 요소를 추가하기나 요소 받기 같은 것을 하는 Array기능에 대한 매개변수의 타입이 필요하다. 이때 어떤것을 리턴해야 하는가? 이..
디자인 패턴에는 MVC와 MVVM 등등이 있다. 디자인 패턴이라고 해서 그림이나 그런것이 아니라 코드를 어떤 형식으로 작성하는지? 코드를 구성하는 방법?? 그런 아키텍쳐라고 생각하면 되겠다. 유저가 보는 뷰 부분, 동작을 하는 모델 부분, 이런식으로 분업이라고 해야 하나? 분업보다는 분산이 맞겠다. 하나가 한가지일만 하는것이 아니라 좀 여러개에 나눠서 책임을 분산시킨다. 요새는 MVVM으로 많이 사용하는것으로 보인다. 유지보수가 더 용이하다고 한다. MVC Model + View + Controller - 컨트롤러가 너무 많은 일을 한다. MVVM Model + View + View Model - 책임 분산. 이게 MVVM모델 설명이다. 저런 swift코드들이 각각 ViewModel과 View에서 작동하..
Object = Data + Method object는 struct나 class 형태로 구현할 수 있다. 이곳에서는 class로 구현한다. struct와 개념은 똑같지만, 기능적인 차이가 있다. Class 구조체 클래스 값 타입 참조 타입 복사 참조(공유) Stack(빠르다) Heap(느리다) 두 타입이 할당되는 메모리 공간이 달라서 달라지는것이다. 구조체 쓰면 좋은 경우 클래스 쓰면 좋은 경우 1. 두 objecct를 비교하는 경우 1. 두 오브젝트의 인스턴스 자체가 같음을 확인할 때 2. 복사된 객체들이 독립된 상태로 관리되어야 하는 경우 2. 하나의 객체가 필요하고, 여러 대상에 의해 접근되고 변경이 필요한 경우 3. 코드에서 오브젝트의 데이터를 여러 스레드에 걸쳐 사용할 경우(안전) Class 상..
Method 어떤 기능을 수행. function과는 다르게 어느 코드 블럭 안에서 동작. struct extension , mutating import UIKit struct orderedMenu { var menuName: String var maxMenuNum: Int = 10 var numOfOrdered: Int = 0 func remainNum() -> Int { // orderedMenu랑 관련된거니까 넣어봄. let remainNum = maxMenuNum - numOfOrdered return remainNum } mutating func ordered() { // 주문된 음식수 증가시키기 numOfOrdered += 1 // 이 함수가 struct 안에 있는 프로퍼티 변경시키는 경우에는 ..
Object = Data + Method object는 struct나 class 형태로 구현할 수 있다. 이곳에서는 struct로 구현한다. struct Store { /****************************************************** 데이터 = 프로퍼티 (Stored Property) */ let loc: Location var name: String let deliveryRange = 2.0 /*************************************************************/ /****************************************************** 메소드 */ func isDeliverable(userLoc: Lo..