안녕하세요. 밀쿄입니다. 오늘은 유니온 파인드라는 알고리즘에 대해서 알아보겠습니다. 유니온 파인드는 그래프 알고리즘의 일종 입니다. 그리고 합집합 찾기라는 의미를 담고 있습니다. 이렇게 말하면 감이 안오지만 쉽게 말하자면 "여러 가지 노드가 있을 때, 두 노드를 선택하여 가 같은 그래프에 속하는 지 판별하는 알고리즘" 이라고 생각하시면 편할 것 같습니다. 따라서 이 알고리즘은 두 가지 연산으로 이루어져있습니다. 이름에도 나와있듯이 유니온(Union) 연산과 찾는(Find) 연산입니다. Union은 두 노드가 속해있는 집합을 합치는 연산입니다. Find는 한 노드가 어떤 집합에 포함되어 있는 지 찾는 연산 입니다. 예시를 하나 들어보겠습니다. 처음에는 1, 2, 3이 있다고 가정해봅시다. 각각의 원소들은 ..
안녕하세요. 밀쿄입니다. 오늘은 두 번째 시간입니다. 오늘은 SwiftUI로 프로젝트를 생성해보고 간단히 살펴보겠습니다. 생성된 파일을 보면 ContentView.swift가 있는데 기존에 StoryBoard로 프로젝트를 생성하면 있던 ViewController.swift에 해당합니다. ContentView부터 보면 재미있을 것 같지만 SceneDelegate.swift에 가면 특이한 부분이 있어서 그것부터 보겠습니다. UIHostingController라는 처음보는 녀석이 있을겁니다. UIHostingController의 선언부를 보면 다음과 같이 되어있습니다. open class UIHostingController : UIViewController where Content : View 일단 눈에 띄는..
안녕하세요. 밀쿄입니다. 오늘부터 조금씩 SwiftUI에 대해서 알아봅시다. 우선 이 프레임워크의 탄생 배경부터 살펴봅시다. 현재 iOS의 앱구현에는 UIKit이 macOS 앱 구현에는 AppKit, watchOS에는 WatchKit이 사용되고 있습니다. 물론 밑바탕에 있는 Foundation이나 그래픽 영역을 공유하지만 유저 인터페이스 영역에는 앞에서 말한 것 처럼 각자 다른 프레임워크를 사용합니다. 물론 앞에서 언급한 프레임워크들은 모두다 Objective-C 기반의 UI프레임워크 입니다. 그렇기에 Swift 언어로 개발하면서 Objective-C와 상호작용을 위해서 여러가지 작업을 해주고있습니다. 우리가 흔하게 붙이는 함수 앞에 붙이는 @objc가 그 대표적인 예로 들수있습니다. 그리고 Swift가..
안녕하세요. 밀쿄입니다. 오늘은 코드로 화면 짤 때 조금 더 편하게 짜는 방법에 대해 알아보겠습니다. 코드르 화면 짤 때 화면을 미리 볼 수 없어서 많이 불편했습니다. 실제로 화면 하나를 수정하기 위해서 수정 -> 빌드를 몇 번이나 반복한 적도 있습니다..( 이건 제가 실력이 없어서 그럴지..) 그치만 XCode 11이 나오고 SwiftUI에서 사용할 수 있는 XCode의 Canvas뷰? Canvas모드?를 활용하면 조금 더 편하게 코드를 짤 수 있습니다. 이 팁을 처음본건 작년 Let's Swift였는데 그 때만 해도 캔버브뷰만 틀면 제 엑스코드가 자주 먹통이 되어버려서.. 포스팅을 안하고 있었는데요..11.4부턴 조금 덜 먹통이 되길로 남겨봅니다.. 위에서 말했듯이 SwiftUI에서 사용할 수 있는 ..
안녕하세요. 밀쿄입니다. 오늘은 문제하나를 들고왔습니다. 풀다보니 이건 기록을 해야겠다 싶어서 포스팅을 해봅니다. https://programmers.co.kr/learn/courses/30/lessons/42883 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이 문제 입니다. 문제의 지문을 이해하기엔 크게 어려움이 없는 문제입니다. 문제의 요지는 k개 수를 제거했을 때 얻을 수 있는 가장 큰 수를 구하는 것 입니다. 먼저 예제를 보면 1924는 두 개의 수를 제거하여 19, 12, ,14, 92, 94 , 24 정도를 만들 수 있는데 94가 제일 크니..
오랜 시간 기다렸던 포스팅입니다. MVC에서 MVVM으로 만들어보는 프로젝트 입니다. 중간에 이 글이 중단된다면 저는 무기한..귀차니즘에 빠진걸로.. https://milyo-codingstories.tistory.com/40 MVC(Model-View-Controller)? 안녕하세요. 밀쿄 입니다. 오늘은 미루고..미뤄왔던 포스팅을 해볼까합니다. 이 블로그 시작하며서 써야지 했던게 벌써 몇달이 흐르고 흘렀네요. 이 주제에 대해 자신이 없기도 했고 ( 지금도 없어요 지적 해주세.. milyo-codingstories.tistory.com MVC에 대한 설명은 여기 있습니다. 모자란 설명이지만 적혀있습니다. 자 그러면 시작하겠습니다. (뷰 코드가 들어가면 길어지니 생략하겠습니다.) 먼저 모델을 만들어줄껍..
문제 요약 2016년 a월 b일이 무슨 요일인지 리턴하는 함수 작성 2016년은 윤년 2016년 a월 b일은 실제로 있는 날 접근 00. a월 b일이 총 몇 일째인지 구해서 7로 나누자 01. 2016년 1월 1일이 무슨 날? - 금요일 -> 1월 1일 -> 총 하루 -> 7을 1로 나눈 나머지 즉, 1일 때 금요일 -> 1 - 금, 2 - 토, 3 - 일, ... , -목 코드 func solution(_ a:Int, _ b:Int) -> String { var answer: String = "" var totalDay: Int = b var monthDay: Int = 0 for index in 1..= 8 && index % 2 == 0 ){ monthDay = 31 } else if index =..
안녕하세요. 밀쿄입니다, 오랜만에 Combine 관련으로 글 쓰는 것 같네요. 오늘은 결합 연산자 중에 제일 많이 사용하게 되는 CombineLatest에 대해서 알아보겠습니다. 일단 조금 이상한 예제지만 CombineLatest 전후를 비교하기 위해서 예제를 하나만 비교해보겠습니다,. 두 개의 배열이 있고 이 배열이 count가 일정 갯수이상 되면 콘솔창에 메세지를 출력하는 예제입니다. 먼저 콤바인 없는 상태입니다. class TestClassWithoutCombine { var items = [String]() { didSet { self.isPass = items.count > 3 && items2.count > 1 } } var items2 = [String]() { didSet { self.is..
- Total
- Today
- Yesterday
- SEQUENCE
- CombineLatest
- 텔큐온
- ErrorHandling
- 스위프트유아이
- Just
- 스위프트
- swift
- 콤바인
- BBIK
- 스택뷰
- 유니온파인드
- replaceNil
- AutoLayout
- 결합연산자
- 스유
- 자료구조
- Apple
- iOSCombine
- MVC
- compactMap
- ios
- 삨
- 현업이그리운
- 알고리즘
- combine
- UIViewControllerRepresentable
- Queue
- SwiftUI
- programmers
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |