[프로그래머스/Swift] 옷가게 할인 받기
·
💡 알고리즘/프로그래머스
[문제] 머쓱이네 옷가게는 10만 원 이상 사면 5%, 30만 원 이상 사면 10%, 50만 원 이상 사면 20%를 할인해줍니다. 구매한 옷의 가격 price가 주어질 때, 지불해야 할 금액을 return 하도록 solution 함수를 완성해보세요.   [풀이] import Foundationfunc solution(_ price:Int) -> Int { switch price { case 100000..   [과정] Int와 Double이 서로 계산이 안된다는 걸 까먹고 작성하다가 계속되는 테스트 통과 실패에 당황했었다. 이런 기본적인 걸 잊고 있다니...! https://ujeon.medium.com/swift-%EC%86%8C%EC%88%98%EC%99%80-%E..
[Swift] Keychain vs UserDefaults
·
🍎 Dev/Swift
iOS 앱 개발을 하면, 사용자의 정보를 저장할 데이터베이스 선택지를 한번씩은 꼭 고민해보게 되는 것 같다.CoreData, UserDefaults, Keychain 등이 있는데, 이 글은 보안 유지가 필요한 데이터를 저장할 때 사용하기 좋은 Keychain에 대해 정리다.      1. UserDefaults로  사용자의 개인정보 저장? 물론, UserDefaults에 사용자의 데이터를 저장할 수도 있다. 우선 UserDefaults에 대해 정리해보자.  UserDefaults는, 1. 런타임에 동작2. 앱이 실행되는 동안 기본 데이터베이스에 접근해 info 파일에 key-value의 형태로 데이터를 저장 이라는 특징을 가지고 있으며, 데이터가 샌드박스에 저장되어 있기 때문에 앱을 삭제하면 저장된 데이..
[프로그래머스/Swift] 숫자 비교하기
·
💡 알고리즘/프로그래머스
[문제] 정수 num1과 num2가 매개변수로 주어집니다. 두 수가 같으면 1 다르면 -1을 retrun하도록 solution 함수를 완성해주세요.  [풀이] import Foundationfunc solution(_ num1:Int, _ num2:Int) -> Int { if num1 == num2 { return 1 } else { return -1 } }  [과정] 숫자가 같으면 1을 리턴하고, 다르면 -1을 리턴하는 아주 간단한 문제여서 조건문으로 처리했는데, 리턴값이 두 가지인 경우의 수 밖에 없어서 삼항연산자를 써도 좋을 것 같단 생각을 했다.  삼항으로 바꾸니 확실히 코드가 간결해진다..!
[프로그래머스/Swift] 두 수의 합
·
💡 알고리즘/프로그래머스
[문제]정수 num1과 num2가 주어질 때, num1과 num2의 합을 return하도록 soltuion 함수를 완성해주세요.  [풀이]import Foundationfunc solution(_ num1:Int, _ num2:Int) -> Int { return (num1 + num2)} [과정] 간단한 산수풀이여서 문제해결과정은 생략.
[Swift] Method Dispatch
·
🍎 Dev/Swift
SweepSwift iOS 면접 질문에 대한 답을 작성한 김에 iOS 개발자라면 앱의 기능향상 면에서 꼭 고려해봐야한다는 Method Dispatch에 대해 정리해보기로 했다.    ✔︎ Method DispatchMethod dispatching is the process of finding the address of instructions to be executed by the CPU when a particular method is called. 어떤 인스턴스의 호출구문에서 프로그램이 어떤 메서드를 실행할지 선택하는 것을 메소드 디스패치라고 한다.어느 시점(컴파일타임 vs 런타임)에 어떤 method를 사용할지를 결정하느냐에 따라서 Static Dispatch와 Dynamic Dispatch로 나뉜..
[UIKit] CustomView
·
🍎 Dev/UIKit
새싹에서 후반기 프로젝트를 개발할 당시 CustomView를 많이 사용하게 되어서 정리하게 되었다.주로 코드베이스로 UI를 그려왔기 때문에 해당 글에선 코드 베이스 + SnapKit 기반으로 customView를 만드는 방법을 다룰 예정이다.        커스텀 뷰를 왜 사용할까❓ 우선 내가 CustomView를 사용했던 가장 큰 이유는 재사용성 때문이었다.위 캡쳐 이미지처럼, 반복되는 UI 요소가 많은 화면을 그릴 때 매번 UI와 관련된 코드를 작성하면 굉장히 비효율적일 수 밖에 없다. 폰트를 바꿔야한다면?포인트 컬러를 바꿔야한다면?버튼의 코너 레디어스를 변경해야한다면? 동일한 구성의 코드를 일일이 찾아서 수정한다면, 반복되는 뷰의 수가 많을 수록 수정의 굴레에 빠질 수 밖에 없으니까. 또한, 부분적으..