본문 바로가기

분류 전체보기130

Swift) Switch vs If else 🍎 switch란? switch는 들어오는 수(value to consider)를 보고 조건이 True인 case로 진입(점프)한다. 다른 언어같은 경우엔 각 case마다 break를 걸어 탈출하지 않는다면, 이후의 case까지 진입하지만, Swift에서의 switch는 fallthrough를 기본적으로 지원하지 않으므로, case마다 break를 걸어줄 필요가 없다. switch statements in Swift don’t fall through the bottom of each case and into the next one by default https://docs.swift.org/swift-book/LanguageGuide/ControlFlow.html#ID130 대신 fallthrough 되.. 2022. 2. 12.
Swift) Error Handling 📌 Error Handling Swift는 Error protocol을 통해 Error handling을 지원한다. 😈 Ways to handle Errors 스위프트의 에러처리 방법은 네가지가 있다. Error 발생 함수에서 해당 함수를 호출한 코드로 전파(던짐) (thorws) do-catch문으로 처리 Error를 옵셔널값으로 처리 Error가 일어나지 않을 것이라고 단정 👿 Error Represent Swift에서, Error는 Error protocol을 준수하는 타입의 값으로 표현한다. 👹 Error Protocol은 빈 프로토콜이다. Any type that declares conformance to the Error protocol can be used to represent an err.. 2022. 2. 12.
함수 전달인자명과 파라미터명 함수 기본 형태 func 함수이름(전달인자명 파라미터명: 파라미터타입) -> 반환타입 { statement } 함수이름(전달인자명: 파라미터값) 사용 함수 내부에서 전달인자를 사용할때는 파라미터명을 사용한다. func greeting(to friend: String) { print("Hello \(friend)") } 함수를 호출할 때에는 전달인자명을 사용한다. greeting(to: "Jiseong") 이유 함수를 호출할 때 함수 사용자의 입장에서 파라미터의 역할을 명확히 표현하고자 할 때 전달인자명을 지정하여 사용한다. 위 코드를 예로 들면 전달인자명 to를 사용하여 greeting을 누구한테(to) 하는지 함수명과 전달인자명이 어우러져 일맥상통하게 표현하려 사용하는 것이다. 헷갈렸던 점 argume.. 2022. 2. 12.
Swift) Optional Binding 📌 Optional Binding 변수에 값이 저장될지 아닐지를 확실할 수 없을 떄 Optional을 사용한다. Optional Binding은 Optional 타입의 변수값을 꺼내오는 방법중 하나이다. 🐶 guard guard를 사용한 옵셔널 바인딩을 알아보기전 guard부터 알아보겠다. guard 뒤에 따라붙는 코드의 실행 결과가 True일 때 guard문 밑의 코드가 실행된다. False라면 else블록 내부 코드만 실행된다. 이 내부 코드에는 자신보다 상위의 코드블록을 종료하는 코드가 반드시 들어가야한다. Ex) return, break, continue, throw 🐱 guard let guard let은 예외사항을 처리할 때 주로 쓰인다. 옵셔널을 벗겼을 때 값이 nil이면 더이상 코드를 실행.. 2022. 2. 10.
[Programmers] 체육복 https://programmers.co.kr/learn/courses/30/lessons/42862#qna 코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번 programmers.co.kr 제한사항 전체 학생의 수는 2명 이상 30명 이하입니다. 체육복을 도난당한 학생의 수는 1명 이상 n명 이하이고 중복되는 번호는 없습니다. 여벌의 체육복을 가져온 학생의 수는 1명 이상 n명 이하이고 중복되는 번호는 없습니다. 여벌 체육복이 있는 학생만 다른 학생에게 체육복을 빌려줄 수 있습니다. 여벌 체육복을 가져온 학생이 체육복을 도난당했을 수 있습니다.. 2021. 9. 28.
[Programmers] K번째 수 제한사항 array의 길이는 1 이상 100 이하입니다. array의 각 원소는 1 이상 100 이하입니다. commands의 길이는 1 이상 50 이하입니다. commands의 각 원소는 길이가 3입니다. // // main.swift // Programmers_K번째수 // // Created by 임지성 on 2021/09/25. // import Foundation func solution(_ array:[Int], _ commands:[[Int]]) -> [Int] { var result = [Int]() commands.forEach { result.append(array[$0[0]-1...$0[1]-1].sorted()[$0[2]-1]) } return result } commands.for.. 2021. 9. 25.