전체 글(161)
-
[Swift 기초] 제너릭
//공부 기록용 포스팅입니다. 틀린 부분이 있을 경우 댓글로 알려주시면 감사합니다! 😎 1. 제너릭 func 함수명(_ 매개변수1: inout 타입형1, _ 매개변수2: inout 타입형2){ /*함수 구현*/ } 제네릭(generic): 어떤 호환 데이터 타입과도 동작할 수 있는 함수를 만들 수 있다. 함수와 메서드를 선언할 때는 전달할 인자의 타입을 명시적으로 선언하면 → 같은 실행 코드지만 서로 다른 데이터 타입을 사용해야 할 때는 반복 작성이 불가피한 경우가 있다. ⇒ 코드의 반복/ 중복 문제를 해결하고, 표현성을 향상해 준다. 제너릭 타입은 자료형에 무관한 유연하면서도 재사용이 가능한 코딩을 할 수 있다. Swift의 강력한 기능이며 Swift의 표준 라이브러리는 제너릭으로 구현되어 있다. ex..
2022.03.11 -
[Swift 기초] 함수
//공부 기록용 포스팅입니다. 틀린 부분이 있을 경우 댓글로 알려주시면 감사합니다! 😎 1. 함수 기초 함수(function): 재사용을 목적으로 만드는 이름을 갖는 캡슐화된 코드 블록 함수는 매개변수(prameter)를 받을 수 있고 값을 반환할 수도 있으나, 필요에 따라서는 그렇게 하지 않을 수도 있다. 함수는 코드의 어디에도 선언될 수 있다. //매개변수가 있고 리턴값이 있는 함수의 선언 func 함수이름(매개변수1이름: 매개변수1타입, 매개변수2이름: 매개변수2타입 ...) -> 반환타입 { /*함수 구현*/ return 반환값 } //매개변수가 있고 리턴값이 없는 함수의 선언 - 반환타입(Void) 생략 가능 func 함수이름(매개변수1이름: 매개변수1타입, 매개변수2이름: 매개변수2타입 .....
2022.03.11 -
[Swift 코테 기초] String to Character
var test = readLine()!.map({ (value) in Character(extendedGraphemeClusterLiteral: value) }) //input = "oxoxoxoxo" //test = ["o", "x", "o", "x", "o", "x", "o", "x", "o"]
2022.03.10 -
[Swift 코테] 백준 10818 최소, 최대
개껌처럼 보이지만 개껌 씹다가 이에 살짝 금간거 같다. 1. import Foundation -> components(separatedBy: " ") 대신 아무것도 import 하지 말고 .split(separator: " ") 사용하기 2. sorted()와 min(), max()는 의외로 차이가없었습니다. sorted()는 시간 복잡도가 O(n log n) / min(), max()는 O(n) 여하튼 코드는 다음과 같습니다. let input = Int(readLine()!)! var arr = readLine()!.split(separator: " ").map({ (value) in Int(String(value))! }) print("\(arr.min()!) \(arr.max()!)")
2022.03.08 -
[Swift 코테] 백준 10951 A + B - 4
10952와 비슷한 문제인 줄 알았더니 endpoint가 따로 주어지지 않는다. 이경우 input이 계속 입력되는지 마는지를 while문에서 어떻게 확인할 수 있는지를 찾아야 했다. while문 뒤의 조건에는 Bool 타입만 와야 하기 때문에 입력인 readLine()이 true인지 false인지를 조건으로 주어야 한다. while let input = readLine() { var line = input.split(separator: " ") print(Int(line[0])! + Int(line[1])!) }
2022.03.07 -
[Swift 기초] 제어구문-반복문
//공부 기록용 포스팅입니다. 틀린 부분이 있을 경우 댓글로 알려주시면 감사합니다! 😎 1. for-in 구문 for item in items { //item: iteration으로 들어올 item //items: iteration을 돌 collection type /*실행 구문*/ } 기존 언어의 for-each 구문과 유사 item을 사용하지 않는다면 _를 사용해서 무시할 수 있음 범위 반복문: 범위 연산자의 값이 전달된다 범위연산자(range operator): 값의 범위를 쉽게 나타낼 수 있는 연산자 고정 범위) n...m: n 이상 m 이하 ex) 1...5: 5번 개방 범위) n..
2022.03.07 -
[Swift 기초] 제어구문 - 조건문(흐름제어)
//공부 기록용 포스팅입니다. 틀린 부분이 있을 경우 댓글로 알려주시면 감사합니다! 😎 흐름제어: 프로그램의 실행될 코드와 그것들의 순서를 결정하는 것 1. if-else if 조건 { /*실행 구문*/ }else if 조건 { /*실행 구문*/ }else { /*실행 구문*/ } if-else 구문의 기본형태, if만 단독적으로 사용해도 되고, else if, else와 조합하여 사용 가능 조건 값을 감싸는 소괄호는 선택사항, 중괄호는 필수 if문: 조건식의 결과가 true이면 해당 코드 블록을 실행하며, false면 실행하지 않는다. 조건식은 변수, 상수, 연산자, 함수 등으로 구성될 수 있다. if 뒤의 조건 값에는 Bool 타입의 값만 위치해야 함, 빈 문자열이나 배열도 명확한 길이가 0인지 검사..
2022.03.07 -
[Swift 기초] 컬렉션 타입
//공부 기록용 포스팅입니다. 틀린 부분이 있을 경우 댓글로 알려주시면 감사합니다! 😎 컬렉션 타입: 여러 값들을 모아서 저장하는 데이터 타입 Array, Dictionary, Set 1. Array: 순서(index)가 있는 리스트 형태의 컬랙션 //Array 선언 및 생성 빈 Int Array 생성 var SomeArray: Array = Array() var arr1: Array = [] var arr2: [Int] = Array() var arr3: [Int] = Int var arr4: [Int] = [] var arr5 = Int() //array는 여러 리터럴 문법을 활용할 수 있어 표현 방법이 다양하다. 배열에는 같은 타입의 값들이 차례대로 저장되며, 이 값들은 저장된 위치를 나타내는 인덱..
2022.03.06 -
[Swift 기초] 튜플 Tuple
//공부 기록용 포스팅입니다. 틀린 부분이 있을 경우 댓글로 알려주시면 감사합니다! 😎 Tuples var errorCode = (230, "null point assingment") Swift 에서 사용하는 값의 무리지음(grouping of Values) 괄호 () 를 사용하여 아이템을 정의, 여러 타입의 값들을 하나의 상수, 변수 값으로 만듬 ()안에 쉼표를 이용해서 동일한 형, 또는 서로 다른 형의 자료값을 묶어 하나의 자료형으로 취급 //초기화 부분, Int, String 형이 함께 상수값에 묶여져 있다. var errorCode = (203, "Method Not Allowed") //(Int, String) //dot연산을 통해 튜플 원소에 직접 접근하고 요소의 값을 변화시킬 수 있다. pr..
2022.03.06 -
[Swift 기초] Any, AnyObject, nil
//공부 기록용 포스팅입니다. 틀린 부분이 있을 경우 댓글로 알려주시면 감사합니다! 😎 1. Any var someAny: Any = 100 Swift의 모든 타입을 지칭하는 키워드 var someAny: Any = 100 someAny = "어떤 타입도 수용 가능" someAny = 3.14 let someDouble: Double = someAny //컴파일 에러 다른 타입에 Any타입을 할당할 수 없다. Cannot convert value of type 'Any' to specified type '~’ Any타입에 다른 타입을 할당할 수는 있다. var someAny: Any var someDouble: Double = 3.143 someAny = someDouble print(someAny) /..
2022.02.17 -
[Swift 기초] 기본 데이터 타입
//공부 기록용 포스팅입니다. 틀린 부분이 있을 경우 댓글로 알려주시면 감사합니다! 😎 변수(variable): 프로그램에서 사용할 필요가 있는 값을 저장하는데 사용 운영체제는 우리가 변수를 생성할 때 그것을 저장하기 위해 특정한 양의 메모리를 할당한다. Bool, Int, UInt, Float, Double, Character, String 1. Bool var someBool: Bool = true ture, false라는 기본적인 이진형 타입을 제공한다. Bool 타입에 0과 1을 할당할 수 없다. cannot assign value of type ‘Int’ to type ‘Bool’ 2. Int var someInt: Int = 100 64 bit 정수형 타입 –2,147,483,648 ~ 2,1..
2022.02.17 -
[Swift 기초] 주석과 세미콜론
//공부 기록용 포스팅입니다. 틀린 부분이 있을 경우 댓글로 알려주시면 감사합니다! 😎 1. 주석문 // /* .. */ func sayHello(){ print("Hello") } sayHello() //sayHello() /*sayHello() sayHello()*/ //Hello //한번만 출력 2. 세미콜론 세미콜론은 문장의 끝에 붙이지 않아도 된다. 세미콜론으로 여러 문장을 한 줄에 쓸 수 있다. //명시적으로 isRun의 형을 Bool형으로 선언 var isRun: Bool = false; //Bool 형으로 추정 var isEat = true; var isSlad = true 참고하였습니다. 감사합니다. https://www.inflearn.com/course/창원대학교-박동규-교수의-swi..
2022.02.17