Quaker.Lee
About me
About me
Quaker.Lee
2024.10.09 23:56
New Post
프로그래머스 - n의 배수(Swift)
프로그래머스2025.03.31 01:14프로그래머스 - n의 배수(Swift)

문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  내 풀이import Foundationfunc solution(_ num: Int, _ n: Int) -> Int { if (2...100).contains(num) && (2...9).contains(n) { return num % n == 0 ? 1 : 0 } fatalError("잘못된 수")} if문으로 제한사항에 있는 2이상 100이하 그리고 2이상 9이하의 조건에서 삼항연산자 사용num을 n으로 나눠서 나머지가 없다면 num은 n의 배수이기때문에 1을 return.반다의 경우 배수가 아니기 때문에 0을 return

개발일지2025.03.23 19:342025.03.23

[Ting] 유저피드백 / Textfield 공백검증, 특수문자 검증 구현, 키보드 내리는 기능 구현
카테고리 없음2025.02.19 23:07[Ting] 유저피드백 / Textfield 공백검증, 특수문자 검증 구현, 키보드 내리는 기능 구현

유저피드백을 받았다. 1. 닉네임 이외에 다른 필드에서 공백 한번으로 비어있는 정보 생성 가능2. 특정 필드의 정보만 변경하고 싶은데, 한번 클릭하면 마지막 필드까지 내려갈때까지 키보드를 내릴 수 없음. 위 두가지 사항을 피드백 받았다.수정해야할 부분이다. 닉네임 중복검증 및 공백, 특수문자 검증에만 신경 쓴 나머지 다른 부분들을 체크하지 못했다.키보드도 마찬가지. 텍스트필드간의 이동 및 작성 완료시 키보드가 내려가는것에만 집중한 나머지 한가지 필드만 수정할지도 모르는 케이스를 간과하고 말았다. 수정해보자.  먼저 텍스트필드에 예외처리를 해보자 다른 파일에서도 코드를 재사용할 수 있도록, 별도의 파일로 분리를 해두었다.import UIKit// MARK: - 공백, 줄바꿈으로만 입력되었는지 체크func ..

Swift
Swift의 접근제어자
Swift의 접근제어자
Swift
2025.01.02 23:45
접근제어자란코드 내의 특정 부분에 대한 접근 권한을 설정하여 코드의 캡슐화를 강화하고 보안을 유지하는데 사용된다. open가장 넓은 접근 수준, 모듈 외부에서 해당 요소에 접근하고 하위 클래싱(클래스) 및 재정의(메서드)를 허용한다.주로 프레임워크나 라이브러리르 설계할 때 외부 모듈에서 상속 및 재정의를 허용하려는 경우 사용된다.open class OpenClass { open func openMethod() {}}  public모듈 외부에서 접근은 가능하지만, 하위 클래싱 및 재정의는 허용되지 않는다.주로 외부에서 접근 가능해야 하지만 내부 동작은 수정하지 못하도록 제한하고 싶은 경우 사용된다.public class PublicClass { public var publicProperty = "I ..
(작성중)Swift 기본 문법 - Enumeration(열거형)
(작성중)Swift 기본 문법 - Enumeration(열거형)
Swift
2024.11.05 21:21
Enumeration(열거형)- 연관된 상수들을 하나의 이름으로 묶은 것.- 열거형에 포함된 상수들은 상수라고 하지 않고, Enumeration Case라고 부른다.- Int나 String처럼 독립적인 타입이다. = 이름을 가지고 있다.- 스코프 내에서 중복되지않는 이름을 가져야 한다.- 열거형의 case는 값이다. //Syntaxenum TypeName { case caseName case caseName, caseName}- case의 이름은 lowerCamelCase의 규칙을 따라야 하며, 중복되어서는 안된다. Associated Values (연관 값)    Raw Values (원시 값)각 case마다 기본으로 설정된 원시값을 저장할 수 있다. 즉 초기값을 저장할 수 있다.타입을 지정..
Swift 기본 문법 - Double 타입에서 나머지 구하기(TruncastingRemainder)
Swift 기본 문법 - Double 타입에서 나머지 구하기(TruncastingRemainder)
Swift
2024.10.29 15:46
Swift에서 나머지를 구해보자.나머지와 나누기를 헷갈리는 경우가 많은데,나누기 연산자는 /나머지 연산자는 % 이다. 나머지 연산자는 정수형(Int)에서만 지원하기 때문에,만약 데이터 타입이 Double이라면, truncatingRemainder를 사용해야한다. 값1.truncatingRemainder(dividingBy: 값2)let num1:Double = 10let num2:Double = 7print(num1.truncatingRemainder(dividingBy: num2))위의 문법을 보면 바로 이해할 수 있을 것이다.값1을 값2로 나눈다고 이해하면 된다.  예시를 보자.func left(num1: Double, num2: Double) -> Double { let leftResu..
Swift 기본 문법 - Tuple
Swift 기본 문법 - Tuple
Swift
2024.10.28 23:19
TupleTuple이란?- 두개 이상의 값을 저장할 수 있는 Compound Type이다. 즉 여러 값의 묶음이라고 보면 된다.- 서로 다른 타입의 값을 저장하는 것도 가능하다.- 튜플 내의 값들은 순서대로 저장되며, 값들은 각각의 고유한 인덱스를 가진다.- 튜플에 저장되는 값의 수는 튜플을 만들때 결정되고, 그 이후에는 변경할 수 없다.- 튜플은 값 형식이기 때문에, 새로운 변수에 저장하면 기존에 있던 값이 복사된다.- 상수로 선언하면 불변, 변수로 선언하면 가변 튜플이 된다. 예시들을 보자.let GpuPrice = ("3050", 50, "3060", 60, "3070", 70)GpuPrice.0 //"3050"GpuPrice.1 //50GpuPrice.2 //"3060"소괄호 ( )와 ,로 ..
Swift 기본 분법 - 반복문 (for문, while문)
Swift 기본 분법 - 반복문 (for문, while문)
Swift
2024.10.20 23:23
For문//Syntaxfor loopConstant in Range { statements} for문은 반복문 중 하나이다.loopConstant로 변수나 상수의 이름이 온다. (wildCaed Pattern으로 생략할 수도 있다.그리고 in 뒤의 Range에서 반복할 범위를 작성한다.그럼 statements의 코드가 위에서 정한 범위만큼 반복된다.  간단하니 예시를 바로 보자.for num in 1 ... 10 { print(num)} //num이라는 변수명. 1부터 10까지 출력for index in 0 ... 10 { print("Hello")} //index라는 변수명. 10번 반복. "Hello" 10번 출력.func testLoop() { for _ in 1 ... 10 { ..
iOS
[iOS / Swift] UISearchBar 클릭시 화면이동
[iOS / Swift] UISearchBar 클릭시 화면이동
iOS
2025.01.23 00:52
목표UISearchBar를 클릭했을때 화면 이동이 되게끔 구현해보자. 먼저 당연히 SearchBar를 구현해놓아야 하고, 우리가 만질 부분은 SearchBar를 클릭시 발생하는 액션 부분.  선행작업UISearchBar는 addTarger이라는 속성이 없기 때문에, delegate 패턴을 사용해야 한다.SearchBar UI 구현let searchBar = UISearchBar().then { $0.placeholder = "검색" $0.searchBarStyle = .minimal $0.backgroundImage = UIImage()} view.addSubview(searchBar) searchBar.snp.makeConstraints {..
[UIKit / iOS / Swift] view.addSubview와 contentView.addSubview의 차이
[UIKit / iOS / Swift] view.addSubview와 contentView.addSubview의 차이
iOS
2025.01.13 15:19
view.addSubview일반적인 뷰 컨트롤러나 커스텀 뷰 클래스에서 사용됨뷰 컨트롤러의 루트 뷰 또는 커스텀 뷰의 서브뷰로 UI요소를 추가함UIViewController는 view라는 기본 프로퍼티를 가지며, 모든 UI 요소는 이 뷰에 추가하는 것이 기본.따라서 뷰 컨트롤러의 UI를 구성할 때는 view.addSubview를 사용하는 것이다.class ViewController: UIViewController { let tableView = UITableView() override func viewDidLoad() { super.viewDidLoad() view.addSubview(tableView) // view에 추가 }}   contentView.add..
[iOS / Swift] UINavigationBar를 구현해보자.
[iOS / Swift] UINavigationBar를 구현해보자.
iOS
2025.01.08 22:25
UINavigationBar란UINavigationBar란, 화면 상단에 위치하는 네비게이션 바를 나타내는 UI 요소.UINavigationController 없이도 독립적으로 사용할 수 있지만, 일반적으로 네비게이션 흐름을 관리할 때,UINavigationController와 함께 사용된다.이 문서에는 UINavigationBar를 직접 생성하고 뷰에 추가하여 사용자 정의한 네비게이션 바를 구성한다.  UINavigationBar를 구현해보자.UINavigationController를 사용중이지 않은 경우 1. Navigation Bar를 생성2. Navigation Item을 생성3. Navigation Bar에 Item 추가 위의 세가지 과정을 거치게 된다. 1. NavigationBar 생성//N..
[iOS / Swift] Then 라이브러리
[iOS / Swift] Then 라이브러리
iOS
2024.12.27 16:19
본 글을 읽기 전에, 먼저 SnapKit에 대해서 읽고 오면 이해하기 쉽다. [iOS / Swift] 라이브러리 SnapKit이란?SnapKit이란?Swift로 작성된 오토레이아웃을 간단하고 직관적으로 설정할 수 있도록 도와주는 라이브러리이다.Apple의 NSLayoutConstraint를 사용한 코드보다 훨씬 간결하고 읽기 쉬운 문법을 제공하고quaker.tistory.com  Then이란?Then은 Swift 프로젝트에서 객체를 간결하고 가독성 있게 초기화 할 수 있도록 도와주는 경량 라이브러리이다.보통 객체를 생성한 후 여러 속성을 설정해야 할 때 사용된다.SnapKit과 같은 다른 라이브러리와 함께 사용할 때 유용하다.  설치방법CocoaPods등 다른 방법도 있지만, 본문에서는  SPM(Swif..
[iOS / Swift] 라이브러리 SnapKit이란?
[iOS / Swift] 라이브러리 SnapKit이란?
iOS
2024.12.24 20:16
SnapKit이란?Swift로 작성된 오토레이아웃을 간단하고 직관적으로 설정할 수 있도록 도와주는 라이브러리이다.Apple의 NSLayoutConstraint를 사용한 코드보다 훨씬 간결하고 읽기 쉬운 문법을 제공하고 있다.코드베이스로 UI를 작성할때 매우 유용하며 주로 사용되는 라이브러리이다.  SnapKit의 설치방법이건 SPM(Swift Package Manager)를 이용한 설치 방법이다.다른 라이브러리를 추가할 때도 같은 방법으로 추가하면 된다.프로젝트를 클릭해주고,   좀 내리다보면, "Frameworks, Libraries, and Embedded Content"라는 탭이 있다.여기서 +를 눌러주고, 하단의 Add Other를 누른 후, Add Package Dependency 클릭.  그리..
Xcode
[Xcode] 유용한 단축키 등 팁 모음. (문서용 주석, Navigation 단축키 등)
[Xcode] 유용한 단축키 등 팁 모음. (문서용 주석, Navigation 단축키 등)
Xcode
2024.11.12 21:18
Navigation 단축키 Xcode에서 Navigation영역을 단축키로 조금 더 쉽게 이동하고 싶다면 cmd + 1~9를 누르면 이동.그럼 Navigation영역을 껐다 켰다 할 때는? cmd + 0Navigation영역에 있는것들은 다 중요하지만,개인적으로 정말 유용하다고 생각되는 것은, Cmd + 3. 북마크 탭이다. 북마크를 하고 싶을때는 그냥 간단하게 원하는 파일에서 우클릭을 한 후 북마크 하면 된다. 밑에서 3번째   문서용 주석 일반 주석은 //두개로 이루어져 있지만,문서용 주석은 ///세개로 이루어져 있다. 문서용 주석에는 규칙이 있는데, 보통 첫번째 줄에는 해당 객체가 어떤걸 의미하는지 설명해주는 내용을 작성한다.그리고 두번째 줄은 건너뛰고, 세번째 줄부터 내용을 작성한다. 그리고 샘플..
Xcode 단축키 모음 (계속 추가중)
Xcode 단축키 모음 (계속 추가중)
Xcode
2023.12.11 03:15
Xcode 단축키Command(⌘) + Shift(⇧) + K : 프로젝트 클린Command(⌘) + B : 프로젝트 빌드Command(⌘) + R : 프로젝트 실행Command(⌘) + I : 프로젝트 프로파일링 빌드Command(⌘) + N : 프로젝트 파일 추가Command(⌘) + T : 새로운 탭 열기Command(⌘) + D : 줄 복사Command(⌘) + Z : 뒤로 돌리기Command(⌘) + Shift(⇧) + Z  : 앞으로 돌리기Command(⌘) + W : 현재 창 닫기Command(⌘) + E : 현재 선택된 블럭을 검색Command(⌘) + A : 코드 전체 선택Command(⌘) + G : 다음 검색된 항목으로 이동 (Command(⌘) + E와 같이 사용)Command(⌘)..
Review
일상
image