반응형

전체 글 184

Lv1 | Swift - 서울에서 김서방 찾기

swift / 서울에서 김서방 찾기|문제 설명String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다.제한 사항seoul은 길이 1 이상, 1000 이하인 배열입니다.seoul의 원소는 길이 1 이상, 20 이하인 문자열입니다."Kim"은 반드시 seoul 안에 포함되어 있습니다.입출력 예seoulreturn["Jane", "Kim"]"김서방은 1에 있다" 나의 풀이func solution(_ seoul:[String]) -> String { guard let x = seoul.firstIndex(of: "..

Programmers/LV1. 2024.06.14

Lv1 | Swift - 두 정수 사이의 합

두 정수 사이의 합| 문제 설명두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요.예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다.제한 조건a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요.a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다.a와 b의 대소관계는 정해져있지 않습니다.입출력 예abreturn35123335312 고차함수 reduce를 사용해서 풀거나 while, for 반복구문을 사용해서 풀 수 있겠구나라고 생각했습니다 나의 풀이func solution(_ a:Int, _ b:Int) -> Int64 { var value = 0 if a =..

Programmers/LV1. 2024.06.13

앨런 Swift 앱 만들기 UIKit | 타이머 만들기(+ UISlider)

안녕하세요오늘은 제가 강의를 보며 배웠던걸 정리하고자 합니다   앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지 | 앨런(Allen) - 인프런앨런(Allen) | 탄탄한 신입 iOS개발자가 되기 위한 기본기 갖추기. 15개의 앱을 만들어 보면서 익히는.. iOS프로그래밍의 기초, 15개의 앱을 만들면서 배우는 UIKit!근본부터 다른 강의, 들어보실래요?www.inflearn.com ⭐️인프런에서 앨런님의 swift 앱 만들기⭐️를 통해서 정리하였습니다 정말 정말 잘 설명해주기 때문에 제가 정리해놓은것 보다 보시는걸 추천드립니다 자료제공은 절대 불가합니다 타이머 만들기|   화면은 스토리보드를 사용하여 만들었습니다 상단 스택뷰 첫 번째 스택뷰Timer초를 ..

Lv1 | Swift - 나머지가 1이 되는 수 찾기

문제 설명자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다.제한사항3 ≤ n ≤ 1,000,000입출력 예nresult1031211 입출력 예 설명입출력 예 #110을 3으로 나눈 나머지가 1이고, 3보다 작은 자연수 중에서 문제의 조건을 만족하는 수가 없으므로, 3을 return 해야 합니다.입출력 예 #212를 11로 나눈 나머지가 1이고, 11보다 작은 자연수 중에서 문제의 조건을 만족하는 수가 없으므로, 11을 return 해야 합니다.나의풀이import Foundationfunc solution(_ n:Int) -> Int { for x..

Programmers/LV1. 2024.06.12

UIKit | 모서리 둥글게 만들기

안녕하세요이미지뷰에서 모서리 둥글게 만드는 방법에 대해서 설명하고자 합니다    원래 기본값이 0.0으로 되어있으며 값을 많이 줄 수록 모서리가 둥글게 된다고 작성되어있다 masktobounds는 이전 게시글에 작성한 적이 있어서 여기서 읽어주시면 감사하겠습니다:)👇🏻👇🏻👇🏻👇🏻https://ios2080dev.tistory.com/61   //모서리 둥글게 만들기emailTextFieldView.layer.cornerRadius = 10emailTextFieldView.layer.masksToBounds = true

UIKit 2024.06.11

Lv1 | Swift - x만큼 간격이 있는 n개의 숫자

x만큼 간격이 있는 n개의 숫자| 문제 설명함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요.제한 조건x는 -10000000 이상, 10000000 이하인 정수입니다.n은 1000 이하인 자연수입니다.입출력 예xnanswer25[2,4,6,8,10]43[4,8,12]-42[-4, -8] 나의 풀이func solution(_ x:Int, _ n:Int) -> [Int64] { var arr: [Int64] = [] for i in 1...n { arr.append(Int64(x * i)) } ..

Programmers/LV1. 2024.06.11

Lv1 | Swift - 하샤드 수

swift언어로 하샤드 수에 대해서 풀어보았습니다 문제 설명양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요.제한 조건x는 1 이상, 10000 이하인 정수입니다.입출력 예xreturn10true12true11false13false입출력 예 설명입출력 예 #110의 모든 자릿수의 합은 1입니다. 10은 1로 나누어 떨어지므로 10은 하샤드 수입니다.입출력 예 #212의 모든 자릿수의 합은 3입니다. 12는 3으로 나누어 떨어지므로 12는 하샤드 수입니다.입출력 예 #311의 모든 자..

Programmers/LV1. 2024.06.10

Swift 디자인패턴 | 옵저버 패턴(Observer Pattern)

옵저버 패턴(Observer Pattern)|정의객체 간의 일대다(one-to-many) 의존성을 정의합니다옵저버 패턴을 사용하면 하나의 객체 상태가 변경될 때 그와 의존 관계에 있는 여러 객체들이 자동으로 알림(통지)되고 갱신이 됩니다옵저버 패턴은 주로 이벤트 핸들링 시스템이나 모델 뷰 컨트롤러(MVC)아키텍처에서 많이 사용됩니다옵저버 뜻옵저버 뜻은 감시자 / 관찰자라는 뜻입니다일상 예를 들자면 중간에서 관리자 역할을 하는겁니다예를들어 우리가 이력서를 올리게되면 헤드헌터가 중간에서 관리해주는 경우도 있습니다중간에서 관리해준다라고 생각하신다면 옵저버 패턴을 편하게 이해하실것 같습니다예시보통 개인 정보 창이나 알림이왔을 때 옵저버 패턴으로 사용하여UI변경으로 옵저버 패턴을 많이 사용할것 같습니다저는 개인적..

DesignPattern 2024.06.10

Swift 디자인패턴 | 전략 패턴(Strategy Pattern)

전략 패턴(Strategy Pattern)|정의알고리즘군을 정의하고 각각 캡슐화하여 교환해서 사용할 수 있도록 만들고 전략패턴을 활용하게되면 알고리즘을 사용하는클라이언트와 독립적으로 알고리즘을 변경할 수 있다 사용하면 어떤 부분에서 좋을까?상속으로 해결될 수 없는 코드 중복이나 객체의 실시간 알고리즘의 변경시에 유용합니다추상객체(프로토콜-protocol / 익스텐션-extension)를 상속해서 알고리즘을 추가하여 확장이 가능합니다그리고 알고리즘이 변경될 때 해당 알고리즘만 변경하면 되기 때문에 유지보수 측면에서도 용이하다고 볼 수 있습니다 예시온라인 스토어 같은 경우 요즘 새벽배송 / 직진배송 / 일반배송 여러가지 배송이 있는데요각 객체에서 공통된 역할이 존재합니다배송과 시간이라는 점이죠만약 배송 클..

DesignPattern 2024.06.09

Lv1 | Swift - 평균 구하기

문제 설명 정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요.제한사항arr은 길이 1 이상, 100 이하인 배열입니다.arr의 원소는 -10,000 이상 10,000 이하인 정수입니다.입출력 예arrreturn[1,2,3,4]2.5[5,5]5 고차함수 reduce를 사용하여 풀면 되겠다라고 생각해서총 합을 배열의 카운트로 나눠서 평균을 구하였습니다  나의 풀이func solution(_ arr:[Int]) -> Double { return Dobule(arr.reduce(0, +)) / Double(arr.count)}  다른 사람의 풀이 func solution(_ arr:[Int]) -> Double { return Double(arr.reduce..

Programmers/LV1. 2024.06.07
반응형