Climbing Stairs
·
PS/LeetCode
문제https://leetcode.com/problems/climbing-stairs/description/입력1 결과ans: Int = n계단까지 올라갈 수 있는 경우의 수해석한번에 1칸 또는 2칸까지 올라갈 수 있으니 목적지(n) 기준 n-1과 n-2 경우의 수를 더하면 끝 코드class Solution { func climbStairs(_ n: Int) -> Int { if n
UIStackView 뿌시기
·
iOS/UIKit
👋 들어가기 전 설 연휴 동안 UIKit 감각을 찾기위해 여러가지 끄적거리고 있었는데 UIStackView의 속성을한번 정리해보려고 한다. 항상 급할 때마다 블로그에서 시각자료로 보고 결정했는데 이번에는 내 방식대로 정리한 후 내꺼를 보는게 더 나을 것 같다. ㅋㅋㅋ 시각적으로 쉽게 이해하기 위해 axis는 horizontal로 살펴보자. 설명 중 파란색 괄호는 axis를 .vertical로 변경했을 때 영향을 받는 속성으로 약속하자✊기본 세팅기본은 horizontal axis의 UIStackView에 4개의 UILabel을 넣은 형태다. private let stackView: UIStackView = { let stackView = UIStackView() stackView.axis =..
시뮬레이터 vs 에뮬레이터
·
iOS
👋 들어가기 전첫 모바일 개발 스택인 안드로이드에서는 에뮬레이터를 제공해줬는데현재 개발하고 있는 iOS는 시뮬레이터라고 부른다.  무슨 차이가 있을까?? 천천히 살펴보자✊ 호스트와 타겟먼저 이름을 굳이 나눴다는 것은 차이가 있다는 뜻이니그 차이가 무엇인지 먼저 알아보자. 호스트호스트는 프로그램을 개발하는 PC 또는 프로그램이 실행되는 환경이다.타겟프로그램 결과물이 실행되는 환경 과연 이 두 개념이 시뮬레이터와 에뮬레이터를 구분하는데 어떤 역할을 하는 지 살펴보자.☝️시뮬레이터시뮬레이터는 host기기에서 host 아키텍처로 빌드하여 target과 비슷한 환경에서 실행한다.특징Host와 Target 아키텍처가 같아, 별도의 변환 없이 코드가 직접 CPU에서 실행된다. (네이티브 코드)애플리케이션 동작 환경..
샌드박스와 파일시스템
·
iOS
👋 들어가기 전오랜만에 iOS 개념 공부 관련으로 포스팅을 쓰게 됐다.개발 시 많이 나왔던 개념이지만 나중에 하겠다고 미뤄놨던 샌드박스를 공부해볼까한다. 샌드박스와 함께 연관된 파일시스템도 알아보자. P.S 네이버 부스트 캠프는 수료를 했음에도 불구하고 좋은 공부 과제를 찾게 해주셔서정말 감사할 따름이다.✊샌드박스먼저 샌드박스는 개발 분야뿐만 아니라 많이 등장하는 단어이다.어원을 먼저 한번 살펴보자. 샌드박스는 단독주택이 많은 아이들이 밖에서 노는 간이 놀이터이다.보통 위치는 마당에 있고 푹신한 모래로 되어있기 때문에, 통제가능하고 안전하다는 의미가 있는 것 같다. iOS 역시 마찬가지다.✨ 정의샌드박스란 커널 수준에서 앱의 데이터에 대한 접근을 제한하는 기술이다.  📦 생성 시기앱을 설치할 때 운영..
Container With Most Water
·
PS/LeetCode
문제https://leetcode.com/problems/container-with-most-water/description/입력n == height.length2 결과ans: Int = 물을 담을 수 있는 최대 면적해석백준에서 풀어봤던 기억이 있었던 것 같다.위 문제 역시 전형적인 투 포인터 형식이므로 포인터를 이동시키는 조건을 빠르게 찾는다.두 포인터를 양쪽 끝에 위치 시키고 높이가 낮은 것을 옮긴다. 이유는 담을 수 있는 높이는 두 높이 중 최소 높이로 측정되므로 낮은 높이를 옮겨 다음 검사에서는 더 높은높이를 확보하는 것 코드class Solution { func maxArea(_ height: [Int]) -> Int { let n = height.count va..
3Sum
·
PS/LeetCode
문제https://leetcode.com/problems/3sum/description/입력3 결과ans: [[Int]] = 중복되지 않은 3개 숫자의 합이 0이되는 조합 배열 ex) [[-1,-1,2],[-1,0,1]]해석2포인터 개념에 하나의 트릭을 숨겨논 문제로 해석된다.3개의 합이 0이되는 지 검사해야하는데 2포인터로 접근하려면 어떻게야할까 ?? 간단하게 한개를 고정하고 나머지 2개만 움직이면 된다. 배열의 길이가 최대 3000이므로 정렬을 통해 조금 더 쉽게 포인터를 움직일 수 있는 전처리를 수행한 후 중복이 허용되지 않으므로 같은 값이 있을 경우 과감히 다음 값으로 넘어간다. 여기서 내가 고정할 값은 i 이며 , j를 바로 i 다음, j를 오른쪽 끝에서 시작해서 조건에 맞게 움직이자.코드cla..