스위프트 9

[백준] 2869번 : 달팽이는 올라가고 싶다 - Swift

문제 https://www.acmicpc.net/problem/2869 2869번: 달팽이는 올라가고 싶다 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) www.acmicpc.net 코드 import Foundation var input = readLine()!.components(separatedBy: " ") let numA = Double(input[0])! let numB = Double(input[1])! let numV = Double(input[2])! var n = (numV - numA)/(numA-numB)+1 if n.truncatingRemainder(dividingBy: 1) != 0 {n = n/1 + ..

[알고리즘] Divide and Conquer(분할정복)

Divide and Conquer : 여러 알고리즘의 기본이 되는 해결 방법으로, 크고 방대한 문제를 작은 문제로 나눠가면서 풀고 합쳐서 해결하는 방식 -> 재귀적인 마인드로 문제를 해결하는 기법 -> sort, search step1 : Divide - 주어진 input을 small instance로 나눈다 step2 : Conquer - smaller instance에 대한 solution - 쉽게 solution을 구하지 못하면 recursive(divide된 conquer도 divide & conquer 반복) step3 : Combine(If necessary) - original instance의 해를 구할 수 있도록 smaller instance 이용 ✔️ Merge Sort : 원소 개수가..

CS/알고리즘 2021.07.13

[공부기록]100일_8일차

1. Life Bucket Model class DetailLifeBucket{ var want:String var content:String init(want:String, content:String){ self.want=want self.content=content } } var LifeBucket : [[DetailLifeBucket]] = [[DetailLifeBucket(want: "여행",content: "dd")],[DetailLifeBucket(want: "취미/문화",content: "dd")],[DetailLifeBucket(want: "자기계발",content: "dd")],[DetailLifeBucket(want: "소비/저축/기부",content: "dd")],[DetailLife..

[공부기록]100일_4일차

탭바의 위치를 상단으로 수정하였다. 스토리보드에서 위치를 변경시키면 스크롤을 한 후에 다시 하단으로 되돌아간다. 이를 수정하기 위해서는 hideHeader함수와 showHeader함수를 수정해야했다. y 값을 변경해줌으로써 탭바가 사라지고 다시 등장한다. showHeader함수가 실행되면 탭바의 위치는 스크롤 하기 전의 위치로 돌아가야한다. 스토리보드 상에서 탭바의 constraints가 Safe Area.top+30이었기 때문에 showHeader함수에서 y값을 self.view.safeAreaInsets.top+30을 넣어주었다. func hideHeader() { UIView.animate(withDuration: 0.3, delay: 0, animations: { self.tabView.frame..

[Swift] 카카오 API_키워드로 장소 검색

장소를 검색했을 때, 해당 장소에 대한 정보를 얻기 위해서 카카오 API 중 키워드로 장소 검색을 선택하였다. 네이버 API를 먼저 사용하려고 시도 하였지만 API호출 예제에 Swift 코드가 없어서 Rest API Tool가 있는 카카오 API를 사용하였다. Alamofire를 사용하여 JSON파싱을 할 것이다. Alamofire는 스위프트로 작성된 HTTP 네트워킹 라이브러리다. Alamofire을 설치하기 위해서 CocoaPods가 필요한데, CocoaPods를 설치하기 위해서는 nodejs도 설치해야한다. 따라서 nodejs -> CocoaPods -> Alamofire 순으로 설치하였다. 파싱한 결과를 담아줄 List를 먼저 선언하였다. public struct Place{ let placeNa..

[Swift] 컬렉션

배열 배열을 생성하는 방법 배열의 원소 개수가 0인 배열 first/last 프로퍼티 원소 수정 배열 추가 배열삭제 배열 내 원소를 삭제하는 메소드는 삭제된 원소를 반환 딕셔너리 (key-value) 방식으로 데이터를 다루는 컬렉션이다. 순서가 유지되지 않으며 키는 유일해야한다. 딕셔너리 생성 방법 원소 개수가 0인 딕셔너리 원소 수정 원소 삭제 Set 순서를 가지지 않는다 동일한 값을 허용하지 않는다 집합을 다루는 컬렉션 대표적인 4개의 집합 연산, 교집합, 차집합, 합집합, 배타적 논리합을 처리하는 방법을 제공 intersect(), subtract, union(), exclusiveOr()

[Swift] 문자열

count 문자열의 길이 append() 문자 타입의 데이터 또는 문자열 타입의 데이터를 덧붙이는 함수 hasPreffix(), hasSuffix() hasPrefix()함수는 문자열의 앞 내용을 검사 hasSuffix()함수는 문자열의 뒤 내용을 검사 operator [] insert() 특정위치에 문자 또는 문자열을 삽입 remove(at:), removeSubrange(_:) removeSubrange()로 문자열의 일부 삭제 (index2...)는 index2~이기 때문에 문자열 str1은 "Hello"만 남는다

[Swift] 변수와 상수

let은 상수를 var는 변수를 정의할 때 사용한다 한번 타입이 정의된 변수나 상수는 나중에 타입이 변경될 수 없다. 변수나 상수의 타입은 이름 뒤에 콜론 기호로 명시한다. print() 위에서 선언한 변수를 print()함수로 출력하였다. 두번째 print()함수에서는 String Interpolation을 이용하여 문자열로 변경 후 출력하였다. ( \()의 역할은 c++에서 to_string과 같은느낌. )

반응형