일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 문제
- swift 배열
- 최솟값 만들기
- 소수
- SwiftUI
- 카카오 2019
- kakao 2018
- ios 개발 시작
- 카카오 2021
- swift
- Kakao
- 머신러닝
- 데이터셋 만들기
- 카카오
- 날씨 앱
- 카카오 2018
- 이미지학습
- 프로그래머스 답
- 파이썬
- 카카오 2020
- Python
- roboflow
- coco 데이터셋
- swift 시작
- Siwft
- fast.ai
- supervisely
- 스위프트
- 프로그래머스
- c언어
- Today
- Total
목록2020/07 (32)
잡초의 일지
bool isPrime(int num){ for (int i=2; i
// arr_len은 배열 arr의 길이입니다. int solution(int arr[], size_t arr_len) { int answer = 0; int gcd = 1; for (int i=0; ib){ int t; t=a; a=b; b=t; } for (int j=1; j
func solution(_ arr:[Int]) -> Int { var arr: Array = arr var gcd: Int = 1 arr.sort() for i in 0...arr.count-2 { let a = arr[i] let b = arr[i+1] for j in 1...b { if a%j==0 && b%j==0 { gcd = j } } arr[i+1] = a*b/gcd } return arr[arr.count-1] } 내가 최대로 짧게 생각한 코드이다. 더이상 효율적인 코드는 생각이 나지 않는다.. 출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges

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에서 작동하..