[Swift] 코딩 테스트에서 자주 쓰이는 max, min, zip, filter, reduce
·
[Programming Language]/[Swift]
[머릿말]코딩 테스트를 풀다보면 코딩 테스트에서 많이 사용되는 여러 함수가 있는 것 같다. 이 함수들을 사용하지 않고도 해결은 가능하지만 존재하는 것들을 잘 사용하면 더 편리하고 빠르게 해결할 수 있으니 이런 부류의 함수들은 잘 알아두는 것이 좋을 것 같다.1. max( )1-1. max(_:_:)max(_:_:) 함수에 대한 공식 문서에서의 내용은 다음과 같다. ❗️func max( _ x: T, _ y: T) -> T where T : ComparableReturns the greater of two comparable values. Parametersx: A value to compare.y: Another value to compare.Return ValueThe greater of x..
[Swift] split과 components의 차이점
·
[Programming Language]/[Swift]
[머릿말]Swift를 사용하여 코딩 테스트를 준비하던 중 입력을 받는 과정에서 split과 components를 사용하는 것을 보았다. 두 가지 모두 설정한 문자를 기준으로 입력받은 문자열을 구분한다는 점은 같아 보이는데 어떤 차이점이 있는지 궁금하여 찾아보게되었다.1. split(separator:maxSplits:ommittingEmptySubsequences:)split에 대한 Apple Developer Document의 내용은 아래와 같다.❗️func split(separator: Character, maxSplits: Int = Int.max, omittingEmptySubsequences: Bool = true) -> [Substring]func split( separator: Self..
[Swift] 반복문(for~in, stride, while, repeat~while), 조건문(if, if~else if ~else, defer, switch, fallthrough, binding, where, guard), break, continue, defer, 라벨(label)
·
[Programming Language]/[Swift]
1. 반복문Swift에서 반복문은 for ~ in, while, repeat ~ while이 있다.1-1. for ~ in배열, 집합, 딕셔너리과 같은 콜렉션의 모든 요소에 접근하거나 문자열의 각 문자에 대한 접근, 범위 내 모든 값의 접근이 필요할 때 사용하는 반복문이다.// 1. 배열for i in [1, 2, 3, 4] { print(i, terminator: " ") // 1 2 3 4}print()// 2. 집합let mySet: Set = ["A", "B", "C"]for i in mySet { print(i, terminator: " ") // A B C}print()// 3. 딕셔너리let myDict = ["name": "Semin", "location": "Won-Ju"]fo..
[Swift] 딕셔너리(Dictionary), 선언, count, isEmpty, 추가, 수정, 삭제, for ~ in, keys, values
·
[Programming Language]/[Swift]
1. 딕셔너리 (Dictionary)딕셔너리(Dictionary)는 집합과 동일하게 순서를 갖지 않는 콜렉션이다. 이는 키(key), 값(value) 쌍으로 이뤄지고 딕셔너리 내에 키 값은 고유하다.1-1. 딕셔너리 선언(생성)var myDict1 = [타입: 타입]( )var myDict2 = [key1: value1, key2: value2, key3: value3...]var myDict3: Dictionary = [:]var myDict4: [타입: 타입] = [:]var myDict5 = Dictionary( )let myDict1 = [String: String]()let myDict2 = ["name": "Semin", "location": "Won-Ju"]let myDict3: Dictio..
[Swift] 집합(Set), 집합 선언, count, isEmpty, 추가(insert), 삭제(remove), contain, for ~ in, 집합 연산, isSuperset, isSubset, isDisjoint
·
[Programming Language]/[Swift]
1. 집합(Set)집합이란 배열과는 달리 순서를 갖지 않는 콜렉션이다. 이러한 특성으로 인해 집합에는 중복되는 값을 저장할 수 없다.1-1. 집합 선언let set1: Set = []print(type(of: set1), set1) // Set []let set2 = Set()print(type(of: set2), set2) // Set []let set3: Set = [1, 2, 3, 3] // -> 3은 하나만 남고 나머지는 삭제됨print(type(of: set3), set3) // Set [3, 2, 1]집합은 위와 같은 방법을 사용하여 선언할 수 있다. set3의 방법을 가장 많이 사용하며, set3 집합에 3이 2개 들어가있는걸 볼 수 있는데 집합은 중복되는 값을 가질 수 없으므로 하나는 삭제..
[Swift] 배열(Array), 배열 선언 방법, 추가, 수정, 삭제, count, isEmpty, for ~ in
·
[Programming Language]/[Swift]
[머릿말]Swift에도 배열이 존재하는데 다른 프로그래밍 언어에서 보았던 것과 전반적으로 비슷비슷 한 것 같다.1. 배열(Array)  배열은 특정 타입의 값을 순서대로 저장한다. 즉, 배열에 저장된 각 값은 각각의 Index 값을 갖는다. 그러므로 중복되는 값도 얼마든지 저장할 수 있다. 1-1. 배열 선언 방법  배열은 다양한 방법을 사용하여 선언할 수 있다.let arr1 = [Int]() // 가장 많이 사용되는 형식let arr2: [Int] = []let arr3: Array = []let arr4 = [1, 2, 3, 4, 5]위 방법을 사용하여 배열을 선언할 수 있고, arr1을 선언하는 방법이 제일 많이 사용되는 방법이다. arr3은 거의 사용되지 않는 방법이다. Swift는 type-..
[Swift] 문자열(Strings), 문자열 내에 변수 출력 방법, 여러줄 문자열, 문자열 결합
·
[Programming Language]/[Swift]
1. 문자열 (Strings)  문자열이란 큰따옴표("")로 둘러쌓인 문자의 연속으로 "Hello, Swift!" 같은 것들을 뜻한다. Swift에서는 큰 따옴표만 사용할 수 있고 작은 따옴표를 사용하면 오류가 발생한다.let str = "Hello Swift!" // 'Hello Swift!'처럼 작은 따옴표를 사용하면 오류 발생 문자열은 String()를 사용해서도 만들 수 있다.let str = String("Hello, Swift!") 1-1. 문자열 결합  Swift도 Python과 동일하게 + 연산자를 사용하여 문자열을 결합할 수 있다. 또한 += 연산자 역시도 당연히 사용할 수 있다.var str1 = "Hello"var str2 = ", Swift!"print(str1 + str2) // ..
[Swift] assert와 precondition의 차이점
·
[Programming Language]/[Swift]
[머릿말]이제 본격적으로 Swift 공부를 시작하였다. 전체 요약 부분을 보다가 assert와 precondition을 보게 되었다. 이 둘은 조건을 확인해서 조건이 거짓이라면 해당 부분에서 오류 메시지를 띄우고 프로그램을 종료시키는 역할을 한다. 목적 또는 역할이 분명 차이가 있으므로 각각이 존재하는 것일텐데 어떤 점이 다른 건지 궁금해졌다. 그래서 관련 내용을 찾아보았고 이해한 내용을 기록하려 한다.1. Assert? Precondition?1-1. Assert  Assert(역설)은 실행 중 발생하는 조건의 결과에 따른 진행 방향을 설정하는 것이다. 조건이 참이라면 코드는 계속 실행되지만 조건이 거짓이라면 프로그램은 종료되고 해당 줄 번호와 함께 미리 정의해둔 오류 메시지가 콘솔에 출력된다. 형태는..
[Swift] 연산자(대입, 산술, 복합 대입, 비교, 삼항, Nil 결합, 범위, 논리)
·
[Programming Language]/[Swift]
[머릿말]  새로운 언어를 공부할 때마다 느끼는 것이지만 프로그래밍 언어는 대부분 비슷한 것 같다. 구조, 연산자 등 공부를 하면 할수록 비슷한 부분을 많이 느낀다. 이러한 이유 때문인지 이제 새로운 언어를 공부해야 할 일이 생겨도 대학교 1학년 때처럼 두렵지는 않은 것 같다..ㅎ1. 산술 연산자 (Arithmetic Operators)Swift는 type-safe 언어이기 때문에 같은 자료형에 대해서만 연산이 가능하다. 즉, Int형과 Double형의 변수는 서로 연산할 수 없다는 것이다. 그러나 변수로 저장되지 않은 수 자체에 대해서는 연산이 가능하다.print(3 + 0.5)let v1: Int = 3let v2: Double = 0.5print(v1 + v2) // binary operator '..
[C#] :: C# 핵심 내용 총 정리
·
[Programming Language]/[C#]
개요) 이번에 학교에서 Unity로 게임을 만들어보는 수업을 듣게 되었다. Unity가 게임을 만드는 프로그램이라는 것은 알고 있었지만 크게 관심있는 분야는 아니었기에 자세히는 몰랐다. Unity에서는 C#이 사용된다 하였고 C#을 사용해보지는 않았지만 여러 프로그래밍 언어를 사용해보면서 이름은 다르지만 어느정도는 서로 비슷한 문법을 지니고 있는 것을 느꼈기에 관련 내용을 찾아보았고 나중에 필요할 때 사용하기 위해 한 번에 정리해놓으려 한다. 목차) C#이란? 변수 연산자 클래스 조건문 반복문 배열(Array), 컬렉션(Collection) 주석 MSDN(Microsoft Developer Network) 1. C#이란? C#은 마이크로소프트에서 2000년도에 개발된 객체 지향 프로그래밍(Object O..