본문 바로가기

반응형

Mobile

(50)
[코딩테스트 입문] Swift - Day 2 Q. 정수 num1과 num2가 매개변수로 주어질 때, num1을 num2로 나눈 값에 1,000을 곱한 후 정수 부분을 return 하도록 soltuion 함수를 완성해주세요. func solution(_ num1:Int, _ num2:Int) -> Int { num1 * 1000 / num2 } Q. 정수 num1과 num2가 매개변수로 주어집니다. 두 수가 같으면 1 다르면 -1을 retrun하도록 solution 함수를 완성해주세요. func solution(_ num1:Int, _ num2:Int) -> Int { num1 == num2 ? 1 : -1 } Q. 첫 번째 분수의 분자와 분모를 뜻하는 denum1, num1, 두 번째 분수의 분자와 분모를 뜻하는 denum2, num2가 매개변수로..
[코딩테스트 입문] Swift - Day 1 // 두 수의 곱을 구하는 코드를 완성하시오. import Foundation func solution(_ num1:Int, _ num2:Int) -> Int { num1 * num2 }​ // 두 수의 합을 구하는 코드를 완성하시오. import Foundation func solution(_ num1:Int, _ num2:Int) -> Int { num1 + num2 } // 두 수의 차를 구하는 코드를 완성하시오. import Foundation func solution(_ num1:Int, _ num2:Int) -> Int { num1 - num2 } // 두 수의 몫을 구하는 코드를 완성하시오. import Foundation func solution(_ num1:Int, _ num2:Int) ..
[Swift - 문법] 프로퍼티(Property) - 3. 타입 프로퍼티 1. 타입 프로퍼티 타입 프로퍼티는 각각의 인스턴스가 아닌 타입 자체에 속하는 프로퍼티입니다. 아래에서 살펴보겠지만 인스턴스를 정의한 후에도 타입 프로퍼티에 직접적으로 영향을 주고, 같은 클래스로 정의된 인스턴스들에도 일괄적으로 영향을 줍니다. 모든 인스턴스에서 공용으로 접근하고 값을 변경할 수 있는 변수 등을 정의할 때 유용합니다. 타입 프로퍼티의 종류 (1) 저장 타입 프로퍼티 - 변수와 상수로 선언 가능 - 초기값 설정이 반드시 필요 (2) 연산 타입 프로퍼티 - 변수로만 선언 가능 2. 예시 코드 class User { // 저장 타입 프로퍼티 static var age: Int = 0 // 저장 인스턴스 프로퍼티 var instanceAge: Int = 0 { didSet { Self.age =..
[Swift - 문법] 프로퍼티 감시자(Property observers) 프로퍼티 감시자 - 프로퍼티 값이 변하는 것을 감시 - 프로퍼티의 값이 변할 때 값의 변화에 따른 특정 작업을 실행 - 프로퍼티 감시자는 저장 프로퍼티에 적용할 수 있으며 부모클래스로부터 상속받을 수 있습니다. 프로퍼티 감시자에는 "willSet" 과 "didSet" 두 메소드가 존재합니다. willSet : 프로퍼티의 값이 변경되기 전에 호출돼서 변경될 값을 "매개변수"로 갖습니다. didSet : 프로퍼티의 값이 변경된 후에 호출돼서 변경되기 전의 값을 "매개변수"로 갖습니다. 아래 코드에서 예시를 확인하시겠습니다. class CoinPrint { var coin: Int = 0 { willSet { // 편의상 print 를 두 번 실행하도록 했습니다. print("이 부분은 값이 변경되기 전에 호..
[Swift - 문법] 프로퍼티(Property) - 2. 연산 프로퍼티 https://axce.tistory.com/147 [Swift - 문법] 프로퍼티(Property) - 1. 저장 프로퍼티 프로퍼티: 클래스, 구조체 또는 열거형 등에 관련된 값 메소드: 특정 타입에 관련된 함수 1. 프로퍼티 프로퍼티는 크게 세가지 종류의 프로퍼티가 있습니다. 1. 저장 프로퍼티: 인스턴스의 변수 axce.tistory.com 1. 연산 프로퍼티 연산 프로퍼티는 실제 값을 저장하는 프로퍼티는 아닙니다. 단지 특정 상태에 따른 값을 연산하는 프로퍼티입니다. 인스턴스 내/외부의 값을 연산해 적절한 값을 돌려주는 접근자(getter)의 역할이나 은닉화된 내부의 프로퍼티 값을 간접적으로 설정하는 설정자(setter)의 역할을 할 수도 있습니다. 클래스, 구조체, 열거형에 연산 프로퍼티를 정의..
[Swift - 문법] 프로퍼티(Property) - 1. 저장 프로퍼티 프로퍼티: 클래스, 구조체 또는 열거형 등에 관련된 값 메소드: 특정 타입에 관련된 함수 1. 프로퍼티 프로퍼티는 크게 세가지 종류의 프로퍼티가 있습니다. 1. 저장 프로퍼티: 인스턴스의 변수 또는 상수로 구조체와 클래스에서만 사용할 수 있습니다. 2. 연산 프로퍼티: 값을 저장한 것이 아닌 특정 연산을 실행한 결괏값으로 클래스, 구조체, 열거형에 쓰일 수 있습니다. 3. 타입 프로퍼티: 특정 타입에 사용되는 프로퍼티입니다. 2. 저장 프로퍼티 인스턴스의 변수 또는 상수로 구조체와 클래스에서만 사용할 수 있습니다. (1) 기본 저장 프로퍼티 // 좌표 struct CoordinatePoint { var x: Int var y: Int } // 구조체에는 기본적으로 저장 프로퍼티를 매개변수로 갖는 이니셜라..
[Swift - 문법] 구조체와 클래스 1. 구조체 구조체는 struct 키워드로 정의합니다. 구조체를 정의한다는 것은 새로운 타입을 생성해주는 것과 마찬가지이기 때문에 기본 타입 이름처럼 대문자 카멜케이스를 사용해 이름을 짓습니다. 구조체는 상속이 되지 않습니다. struct [구조체 이름] { [프로퍼티와 메소드] } struct Person { // "이름" 부분은 초기값을 정해주는 부분입니다. // 이렇게 초기값을 정해주면 인스턴스를 생성할 때 값을 생략할 수 있습니다. var name: String = "이름" var age: Int var height: Int var weight: Int } // 구조체의 인스턴스 생성 및 초기화 var axce: Person = Person(name: "Sudon Noh", age: 31, hei..
[Swift - 문법] 함수 1. 기본 함수 스위프트에서는 매개변수의 타입이 다르면 같은 이름의 함수를 여러 개 만들 수 있습니다. 또 매개변수의 개수가 달라도 같은 이름의 함수를 만들 수 있습니다. func hello(name: String) -> String { return "Hello \(name)!" } let helloStark: String = hello(name: "Stark") print(helloStark) // "Hello Stark!" func introduce(name: String) -> String { "제 이름은 " + name + "입니다." } let helloThor: String = introduce(name: "Thor") print(helloThor) // 제 이름은 Thor입니다. func p..
[Swift - 문법] 반복문(for-in, while) 1. for-in for [임시 상수] in [Sequence Item] { [실행 코드] } (1) 기본 사용 코드 for i in 0...2 { print(i) } // 0 // 1 // 2 (2) if문 사용 for i in 0...5 { if i.isMultiple(of: 2) { print(i) } print("\(i) == 홀수") } """ 0 0 == 홀수 1 == 홀수 2 2 == 홀수 3 == 홀수 4 4 == 홀수 5 == 홀수 """ ----------------------------------------------------------------- for i in 0...5 { if i.isMultiple(of: 2) { print(i) continue // continue 키워드..
[Swift - 문법] 조건문 (if , switch) 1. if 스위프트의 if 구문은 조건의 값이 반드시 Bool 타입이어야 합니다. let first: Int = 5 let second: Int = 7 if first > second { print("first > second") } else if first < second { print("first < second") } else { print("first = second") } 2. switch Swift 에서의 switch 구문 특징 - break 키워드 사용은 선택사항 입니다. - case 내부의 코드를 모두 실행하면 break 없어도 switch 구문이 종료됩니다. - 다른 언어에서 사용하던 break 없이 연속 실행하던 트릭을 swift에서는 사용할 수 없습니다. - case를 연속 실행하고자..

반응형