오늘은 11번을 풀어보겠습니다. 중간 난이도고 53.9%의 성공률을 보입니다. ㄱㄱ 길이가 n인 height 정수 배열이 제공됩니다. i번째 선의 두 점이 (i, 0) 그리고 (i, height[i])처럼 n개의 수직선이 그려집니다. 컨테이너에 가장 많은 물이 포함될 수 있는 x축인 두 개의 선을 찾으세요. 컨테이너가 저장할 수 있는 최대 물의 양을 리턴해야합니다. 컨테이너를 기울이는 건 안된다고 합니다. 주어진 예시를 보겠습니다. [1,8,6,2,5,4,8,3,7] 9개의 높이를 받았고 인덱스에 맞게 높이를 그려주면 위 이미지와 같습니다. 컨테이너가 저장할 수 있는 최대 물의 양을 리턴해야 하니 컨테이너가 클수록 좋습니다. 해당 예제에서는 1번째 인덱스 8 그리고 8번째 인덱스 7에서 직선을 만들었을 ..
오늘 공부할 주제는 Spacer입니다. Spacer? 먼저 애플 공식문서를 보면, Spacer는 Layout Conatianer에 구조체로 정의되어있습니다. Spacer는 스택 레이아웃에 포함되어있으면 주 축을 따라 확장되고 스택에 포함되지 않는 경우에는 두 축 모두 확장되는 유연한 공간입니다. (A flexible space that expands along the major axis of its containing stack layout, or on both axes if not contained in a stack.) ㅇㅇ? 다시 말해 HStack에 포함되어 있으면 수평으로 확장, VStack에 포함되어 있으면 수직으로 확장되고 스택에 포함되어있지 않으면 수평 수직 모두 확장되는 유연한 공간입니다...
CGAffineTransform 아핀 변환에 대해서 살펴보려 합니다. CGAffineTransform 관련된 질문을 받게 되었는데 거의 까먹어서 다시 정리 (아이패드로 공부한 내용 그대로 가져오는 거라 발그림 죄송) 아핀 변환 언제 쓰나? 아핀 변환 행렬은 2D 그래픽을 그리는 데 사용됩니다. rotate, sclae, translate, skew 변환할 때 사용dd CGAffineTransform 여기서 CG는 CoreGraphics를 의미함. 스위프트에서 CGAffineTransform은 구조체로 정의되어 있으며, 아래와 같이 3x3행렬로 표시됩니다. 세 번째 열은 항상 (0,0,1)이므로 CGAffineTransform 데이터 구조에는 처음 두 열에 대한 값만 포함됩니다. 방정식 도출 왼쪽 행렬의..
TMI) SwiftUI랑 Combine공부는 해야겠고,, 이론만 읽는 건 못하겠어서 시작한 토이 프로젝트! 뭘 주제로 만들어볼까? 고민하다가 경제로 정했음. 내가 경제 뉴스를 보기 위해서 ㄴㅇㅂ에 들어간다 > 메인 화면에서 오른쪽 스와이프 한다 > 뉴스 탭에 들어간다 나름 귀찮은 프로세스를 줄이고자 그리고 내가 원하는 키워드에 관련된 경제 뉴스만 보고 싶었음 ㅇㅇ 아 근데 Swift도 잘 못하는데 SwiftUI라뇨? MVC도 잘 못하는데 MVVM이라뇨? RxSwift도 잘 못하고 있는데 Combine이라뇨? 하다가 이젠 진짜 발등에 불 떨어짐 ㅇㅇ 이제야 나오는 본론. 제곧내 SwiftUI에서 List와 NavigationLink를 같이쓸 때 생기는 화살표 어떻게 없애누??? 오른쪽에 > 이거 뭔데 진짜..
오늘은 앱에 애드몹 배너 광고를 연결해보겠습니다. 0. 공통적인 부분 (애드몹 생성) 1. Swift 코드에 애드몹 연결하기 (몇 년 전 글 가져옴) 2. SwiftUI 코드에 애드몹 연결하기 0. 공통적인 부분 먼저 구글 애드몹에 들어가셔서 https://apps.admob.com/v2/home 앱 추가를 해줍니다. 그러면 아래와 같은 화면이 나올 거예요. (지금이랑 조금씩 다르면서 비슷함) 본인이 앱 스토어에 등록하셨으면 예 아니면 아니요를 눌러주세요. 저는 이미 등록한 프로젝트에 적용한 거라 예를 눌렀습니다. 앱 이름이나 개발자 이름 또는 앱 ID로 검색하면 프로젝트가 뜹니다. 원하는 프로젝트를 추가해주세요. 앱을 추가해주면 앱 ID가 생성됩니다. 여기서 생성된 앱 ID를 어디에 복사해놔 주세요. ..
오늘은 트라이에 대해서 공부해보겠습니다. 사실 전화번호부 검색 알고리즘이 궁금해서 찾아보다가 트라이 개념이 나와서 시작하게 된 포스팅ㅇㅇ 그래서 이번 포스팅은 트라이 개념에 대해서 포스팅하고 다음은 트라이 한국어 탐색에 대해서 포스팅 예정입니다. 트라이란? 트라이(trie)는 문자열을 저장하고 효율적으로 탐색하기 위한 검색 트리의 일종입니다. 일반적으로 키가 문자열인, 동적 배열 또는 연관 배열을 저장하는 데 사용되는 정렬된 트리 자료구조입니다. 트라이의 어원? 트라이가 왜 트라이인지 궁금해서 어원을 찾아봤습니다. 트라이의 개념은 1959년에 처음 공개되었고 검색을 뜻하는 retrieval(리트리벌)의 중간 음절에서 용어를 따왔다고 합니다. 당시에는 트리(tri:)로 불렀다고 하는데 기존에 존재하는 트리..
ARC에 대해서 궁금한 게 있어서 공부하다가 WWDC21에 좋은 영상이 있어 정리해봤습니다. 주제는 스위프트의 ARC! 스위프트는 구조체 및 열거형과 같은 강력한 벨류 타입을 제공합니다. 레퍼런스 타입에서 의도치 않게 sharing되는 것의 위험을 피하기 위해서는 벨류 타입을 사용하는 것을 지향해야 합니다. 스위프트에서 클래스는 레퍼런스 타입이며 클래스를 사용하다면? 스위프트는 ARC를 통해 메모리를 관리합니다. 효과적인 코드를 작성하려면 ARC를 이해하는 것이 중요합니다. 스위프트에서 객체의 lifetime은 초기화 시점에서 시작되고 마지막으로 사용될 때 종료됩니다. ARC는 lifetime이 끝난 후 객체 할당을 해제하여 자동으로 메모리를 관리합니다. 또 ARC는 reference count를 추적해..
오늘은 1975문제를 풀어보겠습니다. 중간 난이도며 43.9%의 성공률을 보이고 있네요. 문제를 살펴봅시다. n x n 정수 행렬이 주어지고 행렬의 인접한 두 요소를 선택해 각각에 -1을 곱하는 연산을 마음껏 할 수 있습니다. (단 border를 공유하는 경우에만 인접하다고 간주됩니다.) 그렇게 만든 행렬 요소의 합이 최댓값이 된다면 리턴하면 됩니다. 예시를 봅시다. 1번 예시: [1, -1] [-1, 1] 첫 번째 행에 -1을 곱해줍니다. [-1, 1] [-1, 1] 다음 첫 번째 열에 -1을 곱해줍니다. [1, 1] [1, 1] 모든 원소의 합은 4가 되고 최댓값이 됩니다. 2번 예시: [1 ,2, 3] [-1, -2, -3] [1, 2, 3] 두 번째 행에 마지막 두 원소에 -1을 곱해줍니다. [1..
- Total
- Today
- Yesterday
- stanford SwiftUI
- ios
- Algorithm
- Animation
- 책
- leetcode
- swift5
- Xcode
- 딥러닝
- 책 추천
- swiftUI
- ARC
- RX
- 독서
- iOS SwiftUI
- wwdc
- string
- Deep learning
- ReactiveX
- 책 후기
- rxswift
- objective-c
- 스위프트
- 스위프트UI
- 알고리즘
- 애니메이션
- objc
- SWIFT
- 머신러닝
- 문자열
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |