분류 전체보기
-
[개발자 문서읽기] UIView - 1iOS 2021. 1. 13. 09:52
공부하며 번역한 내용입니다. 오역과 의역이 있을 수 있습니다. 정확한 내용은 원문을 참고해주세요 :) UIView 스크린 위의 사각형 영역을 관리하는 객체 class UIView : UIResponder Overview View는 앱 UI의 기본 요소이며 UIView 클래스는 모든 뷰의 공통된 행동을 정의합니다. 하나의 뷰 객체는 사각 영역 안에 content를 render하고 content의 인터렉션을 관리합니다. UIView는 인스턴스화 하고 고정된 배경색을 나타낼 수 있는 구체적인 클래스 입니다. 더 복잡한 content를 그리기 위해 subclass 할 수도 있습니다. 앱에서 일반적으로 볼 수 있는 labels, images, buttons 등 다른 인터페이스 요소를 나타내려면 직접 정의하기 보다..
-
백준 1976 여행가자Algorithm/BOJ 2021. 1. 12. 13:56
출처: https://www.acmicpc.net/problem/1976 분류: 자료구조, 분리 집합 접근방식 서로소 집합 문제였습니다. https://woongsios.tistory.com/200 와 같은 방식으로 해결했습니다. 연결되어 있는지만 확인하면 되기 때문에 같은 집합은 하나의 root로 바꿔주고 root가 같은지만 확인하면 되는 문제였습니다! 해결방법 import Foundation let n = Int(readLine()!)! let m = Int(readLine()!)! var cities = [Int](0.. Int { guard cities[n] != n else { return n } cities[n] = root(of: cities[n]) return cities[n] } func..
-
백준 1717 집합의 표현Algorithm/BOJ 2021. 1. 12. 12:44
출처: https://www.acmicpc.net/problem/1717 분류: 자료구조 접근방식 몰랐는데 disjoint-set(서로소 집합) 문제라고 하네요. 집합이 합쳐지는 걸 어떤 집합에 속하게 된다는 개념으로 접근하면 쉽게 해결할 수 있는 문제였습니다. 배열에는 부모를 저장하고 있고 재귀적으로 최상위 부모를 찾아서 비교하고, 합칠 때도 역시 최상위 부모로 합쳐주면 됩니다 :) 처음엔 문제 그대로 집합을 합쳐주고 원소들을 합쳐진 집합으로 다 바꿔주는 식으로.... 1차원적으로 풀었는데 당연히 시간초과였습니다 흡 * a와 b를 확인하기 전에 같은 경우를 걸러주면 시간을 많이 줄일 수 있습니다 :) 해결방법 import Foundation let input = readLine()!.split(sepa..
-
ARC (Automatic Reference Counting)Swift 2021. 1. 11. 13:32
개인적으로 공부하며 정리하는 블로그 입니다. 오류나 부족한 부분이 있을 수 있으니 감안하여 봐주시고 아낌없는 조언 감사드립니다 :D 면접 단골질문! 오늘은 ARC에 대해 알아보겠습니다. ARC가 뭔가요? 라는 질문에 얼마나 대답할 수 있으신가요? 저는 수박 겉핥기식으로만 알고 있었는데요. 오늘 제대로 정리해보려고 합니다. "어.. 그거 레퍼런스 카운트 늘리고 줄이면서 자동으로 메모리 관리해주는 거잖아요, weak, unowned 있고 그거.... " 대략적으로는 알겠는데 막상 설명하려고 하면 자꾸 두리뭉실해지는 이녀석... 오늘은 해결해봅시다 🔥 ARC (Automatic Reference Counting) ARC는 자동으로 메모리를 관리해주는 컴파일러의 기능입니다. 인스턴스에 대한 메모리 관리를 컴파일..
-
백준 1927, 11279 최소 최대 힙Algorithm/BOJ 2021. 1. 11. 10:49
출처: https://www.acmicpc.net/problem/1927 , https://www.acmicpc.net/problem/11279 분류: 자료구조, 힙 접근방식 최대 or 최소를 최상위에 두는 heap 을 사용하는 문제였습니다. 복습하는 느낌으로 필요한 부분만 직접 구현해봤습니다 :) 해결방법 heap 을 생성할 때 기준을 정해줘서 최대, 최소 힙을 만들 수 있습니다. heap(by: Bool init(by criteria: @escaping (T, T) -> Bool) { self.criteria = criteria } mutating func insert(_ value: T) { nodes.append(value) shiftUp(from: nodes.count-1) } mutating ..
-
어떻게 살 것인가일상/독서 2021. 1. 10. 15:26
2020.12.29 ~ 2020.01.10 내가 좋아하는 유시민 작가님의 책이다. 유시민 작가님은 참 닮고 싶은 사람이다. TV속 모습이지만, 보고 있으면 어떻게 저렇게 말씀도 잘하시고 유식하신지.. 나도 저렇게 되고싶다는 생각을 한다. 이 책은 작가님의 치열하게 살아오신 삶을 돌아보고 정리하는 느낌의 책이었던 것 같다. 읽으면서 나는 아직 삶의 의미(?)에 대해 제대로 생각해본 적이 없다는 걸 알았다. 말이 거창하지만 그냥, 책의 제목 그대로 '어떻게 살 것인가'를 제대로 고민해본 적이 별로 없다. 책을 다 읽고 난 지금도 글쎄 잘 모르겠다. 특히 요즘은 취업하려고 아둥바둥 참 바쁘게, 나름 열심히 살고는 있는데. 막막하다. 취업이 인생의 전부인냥 하고 있지만 취업이 인생의 목표는 아닐 것이다. 뭘 위..
-
백준 3190 뱀Algorithm/BOJ 2021. 1. 9. 13:10
출처: https://www.acmicpc.net/problem/3190 분류: 자료구조 접근방식 특별한 알고리즘이나 수학적 개념보다 주어진 상황에 충실히 구현하면 되는 문제였습니다. 2차원 배열 맵을 만들어두고 체크해도 되겠으나(많이들 그런 식으로 푸신 것 같더라구요) 저는 굳이 배열을 따로 만들진 않고 범위만 체크했습니다. 해결방법 뱀을 링크드리스트 형태로 구현해줬고 body set을 정의해서 자기 자신으로 가려고 하는지 확인했습니다. enum, class 등등으로 정의해서 좀 느리고 길게 풀어진 것 같긴 하지만 그래도 나름 swift스럽게(?) 푼 것 같기는 합니다. 사과를 찾았으면 해당 사과를 지워줘야 하는데 이걸 빼먹어서 시간을 좀 잡아먹었네요 ;; 혹시나 저처럼 실수하시는 분들이 없기를 ㅠㅠ ..
-
Frame Bounds + center? transform?iOS 2021. 1. 8. 12:38
개인적으로 공부하며 정리하는 블로그 입니다. 오류나 부족한 부분이 있을 수 있으니 감안하여 봐주시고 아낌없는 조언 감사드립니다 :D view: 화면에 보이는 사각형의 영역 frame, bounds: view의 위치와 크기를 나타내는 property frame: 부모의 좌표계를 기준으로 함 bounds: 자신의 좌표계를 기준으로 함 오늘은 비슷해 보이지만 다른, Frame과 Bounds에 대해 알아보겠습니다. 먼저 정의를 살펴볼까요? 거의 비슷해 보이죠? View는 화면에 보이는 사각형인데요, frame과 bounds는 View의 위치와 크기를 나타내는 프로퍼티 입니다. 혹시 차이가 보이시나요? 네 밑줄 친 부분을 보면 frame은 부모의 좌표계를, bounds는 자신의 좌표계를 기준으로 한다는 점이 다릅..