본문 바로가기

모바일앱/Swift78

[알고리즘] 최대공약수와 최소공배수 구하기 용어 설명 공약수: 두 개 이상의 자연수의 공통인 약수 최대공약수: 공약수 중에서 가장 큰 수 공배수: 두 개 이상의 자연수의 공통인 배수 최소공배수: 공배수 중에서 가장 작은 수 알고리즘 input 입력함수 선언 구분자설정 문자형 배열로 전환 입력값이 없는경우, 띄어쓰기 오류에 대한 처리 숫자입력이 아닌 경우, 오류처리 숫자형 배열로 전환 solution 함수에 입력 solution함수에서 반환한 문자열 출력 gcd 최대공약수 구하는 함수 선언 solution 최대공약수를 이용해 최소공배수를 구하고 문자열을 출력하는 함수선언 result빈배열 생성 gcd함수에서 구한 최대공약수를 배열의 첫번째에 추가 최소공배수를 구해 배열의 두번째에 추가 문자열 변수 answer에 최대공약수, 최소공배수를 출력하는 내.. 2021. 12. 16.
[알고리즘] 연, 월, 일 을 입력하여 요일을 영문으로 출력하는 코드만들기 import Foundation //#2 연, 월, 일 을 입력하여 요일을 영문으로 출력하는 코드 /** - Parameters: - year: 입력된 해의 값을 할당받은 매개변수 - month: 입력된 달의 값을 할당받은 매개변수 - day: 입력된 날의 값을 할당받은 매개변수 **/ func calDayOfWeek(_ year: Int, _ month: Int, _ day: Int) -> String { let weekArray = ["SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"] // 요일 배열 // date 포맷 선언 let date = DateFormatter() date.locale = Locale(identifier: "ko_kr") date.dateF.. 2021. 12. 12.
날짜 계산하기 import Foundation //#2 연, 월, 일 을 입력하여 요일을 영문으로 출력하는 코드 /** - Parameters: - year: 입력된 해의 값을 할당받은 매개변수 - month: 입력된 달의 값을 할당받은 매개변수 - day: 입력된 날의 값을 할당받은 매개변수 **/ func calDayOfWeek(_ year: Int, _ month: Int, _ day: Int) -> String { let weekArray = ["SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"] // 요일 배열 // date 포맷 선언 let date = DateFormatter() date.locale = Locale(identifier: "ko_kr") date.dateF.. 2021. 12. 11.
structures and Classes (+ enum) 클래스는 새로운 변수에 할당할 때, 하나의 인스턴스를 가리킴 구조체는 새로운 변수에 할당할 때, 기존에 있던 것을 새롭게 복사한 인스턴스를 가리킴 + enum 2021. 12. 9.
Loops (반복문) 📌//For-in구문 //for 임시상수 in 시퀀스아이템 { // 실행코드 //} for i in 0...2 { print(i) } //0 //1 //2 print("--------------") for i in 0...5 { if i.isMultiple(of: 2) { //isMultiple(of:X) i가 X의 배수일 경우 true print(i) continue } print("\(i) == 홀수") } //0 //1 == 홀수 //2 //3 == 홀수 //4 //5 == 홀수 print("--------------") 📌//String을 for Loop 하는 경우 한글자씩 꺼낸다. let helloSwift: String = "Hello Swift" for char in helloSwift { .. 2021. 12. 8.
조건문(IF, Switch) import UIKit 📌// if구문 : 단독으로 else 없이 사용가능 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") } ///first < second 📌// switch 구문 // case가 비어있으면 실행 안 됨. // 비교될 값이 명확하게 한정적이지 않을때에는 default를 넣어줘야함. let integerValue: Int = 5 switch integerValue { case 0: print("Value == zero") case 1..... 2021. 12. 8.
Enumeration (열거형) // Enumeration (열거형) 📌 기본 열거형 // 연관된 항목들을 묶어서 표현할 수 있는 타입 enum School { case primary //유치원 case elementary //초등학교 case middle //중학교 case high //고등학교 case college //대학교 } 📌 한 줄로 열거형 선언하기 enum Food { case milk, kimchi, chicken, pizza } 📌 열거형 변수의 생성 및 값 변경 var highestEducationLevel: School = School.high //var highestEducationLevel: School = .high print(highestEducationLevel) // -> high // 같은 타입인 Sc.. 2021. 12. 8.
Array import UIKit // Array (배열) // 배열선언 // => var 변수명: Array = [내용] var names: Array = ["yagom", "chulsoo", "younghee", "yagom" ] //var names: [String] = ["yagom", "chulsoo", "younghee", "yagom" ] print(names) /// ["yagom", "chulsoo", "younghee", "yagom"] // 빈 배열 생성하기() var emptyArray: [Any] = [Any]() //var emptyArray: [Any] = Array() // 타입을 정확히 명시하는 경우 []로도 빈 배열 생성 가능 //var emptyArray: [Any] = [] pr.. 2021. 12. 8.
Day11_extra_Tuple import UIKit // 튜플 : 지정된 데이터의 묶음 //String, Int, Double 타입을 갖는 튜플 var person: (String, Int, Double) = ("yagom", 100, 182.5) // #1 인덱스를 통해서 값 호출하기 print("이름: \(person.0), 나이: \(person.1), 신장: \(person.2)") // -> 이름: yagom, 나이: 100, 신장: 182.5 // #2 인덱스를 통해서 값 할당하기 person.1 = 99 person.2 = 178.5 print("이름: \(person.0), 나이: \(person.1), 신장: \(person.2)") // -> 이름: yagom, 나이: 99, 신장: 178.5 // #3 파라미터가.. 2021. 12. 7.
Day10 closure import UIKit //클로저 //클로저 자체는 메소드를 실행하게 되는 것 //#1 String을 반환하는 클로저 let myName : String = { // myName 으로 들어간다 return "기꼬" }() print(myName) // -> 기꼬 //#2 매개변수가 있는 클로저만들기 // 클로저 정의 //let myRealName = { (name: String) -> String in // return "개발하는 \(name)" //} //클로저 정의 //myRealName이라는 클로저를 실행하게 되면, String자료형의 name이라는 매개변수로 받아서 최종적으로 String을 내뱉는 클로저 let myRealName : (String) -> String = { (name: Strin.. 2021. 12. 3.