본문 바로가기
반응형

SWiFT15

프로그래머스 - K번째수 / Swift 문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/42748 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr 풀이 commands 배열을 돌며 array 배열을 잘라 임시 배열 tmp에 넣는다. tmp 배열을 정렬한 뒤 k번째 수를 정답 배열 ans에 넣어 리턴한다. 코드 import Foundation func solution(_ array:[Int], _ commands:[[Int]]) -> [Int] { var ans: [Int] = [] for i in commands{ var tmp: [Int] = [] for .. 2022. 3. 31.
Swift - 모나드 Swift의 모나드가 갖춰야 하는 조건은 다음과 같다 타입을 인자로 받는 타입(특정 타입의 값을 포장) 특정 타입의 값을 포장한 것을 반환하는 함수(메소드)가 존재 포장된 값을 변환하여 같은 형태로 포장하는 함수(메소드)가 존재 무슨 말인지 하나도 이해가 안 갈 것이다. 모나드를 이해하는 출발점은 값을 어딘가에 포장하는 개념을 이해하는 것부터 출발한다. 스위프트에서 모나드를 사용한 예시 중 하나가 옵셔널이다. 따라서, 옵셔널을 파헤쳐보며 컨텍스트, 함수객체를 이해한 뒤 모나드를 다시 알아본다. 컨텍스트 컨텍스트(Context)의 사전적 정의는 '맥락', '문맥' 등이다. 이번 파트에서 컨텍스트는 '컨텐츠(Contents)를 담은 무언가'를 의미한다. 즉, 물컵에 물이 담겨있는 상황에서 물은 컨텐츠이고 물.. 2022. 1. 22.
Swift의 연산자 스위프트의 연산자는 특정한 문자로 표현한 함수, 따라서 특정 연산자의 역할을 프로그래머의 의도대로 변경할 수 있다. 다른 언어와 유사한 연산자에 대한 설명은 생략하였다. 1. 연산자의 분류 분류 설명 예시 단항 연산자 피연산자가 한 개인 연산자 !A 이항 연산자 피연산자가 두 개인 연산자 A + B 삼항 연산자 피연산자가 세 개인 연산자 A ? B : C 전위 연산자 연산자가 피연산자 앞에 위치하는 연산자 !A 중위 연산자 연산자가 피연산자 사이에 위치하는 연산자 A + B 후위 연산자 연산자가 피연산자 뒤에 위치하는 연산자 A! ❗스위프트는 띄어쓰기도 중요한 언어. A != B 와 A! = B는 전혀 다른 의미이며 A > B? A : B 와 같이 사용하면 오류가 발생한다. A > B ? A : B와 같.. 2022. 1. 13.
iOS - 객체 제어 Label과 Button을 클래스에 연결하면 각각 @IBOutlet, @IBAction이 클래스에 추가되는 것을 본 적이 있을 것이다. 이 '@' 키워드로 시작하는 것을 Annotation이라고 하며 변수나 메소드의 성격을 컴파일러에게 알려주는 역할을 한다. @IBOutlet은 Property에, @IBAction은 Method에 각각 추가되는데 이는 IB(Interface Builder)에 관련된 것이라는 의미를 나타낸다. 이렇게 IB Annotation이 붙은 Property나 Method들은 처음 앱이 Build될 때 컴파일러가 확인하고 연결 정보를 찾아 IB의 객체와 서로 연결해준다. 연결된 정보들은 Xcode의 Connection Attribute 탭에서 확인할 수 있다. 이 탭은 다른 Insp.. 2021. 11. 7.
반응형