문제 https://www.acmicpc.net/problem/6198 6198번: 옥상 정원 꾸미기 문제 도시에는 N개의 빌딩이 있다. 빌딩 관리인들은 매우 성실 하기 때문에, 다른 빌딩의 옥상 정원을 벤치마킹 하고 싶어한다. i번째 빌딩의 키가 hi이고, 모든 빌딩은 일렬로 서 있고 오른쪽으 www.acmicpc.net 풀이 시간초과된거 처음에는 각 빌딩이 볼 수 있는 빌딩 수에 초점을 맞췄었다. 그래서 중첩된 반복문을 통해 현재의 빌딩보다 높이가 높은 빌딩들만 스택에 남겨 result[index]에 값을 매번 더해주었다. 시간복잡도가 O(n^2)이라 찝찝했지만 역시나 시간초과였다. let n = Int(readLine()!)! var result = Array(repeating: 0, count: ..
스유 맛보기 기존과 달리 구조체 기반 최소 13.0 이상부터 가능 처음만들면 ContentView라는 파일안에 두 개의 구조체가 있음. ContentView에 코드를 작성하면 아래의 ContentView_Previews를 통해 화면에 프리뷰를 보여주는 느낌인 것 같음. import SwiftUI struct TestView: View { var body: some View { Text("Hello, World!") } } struct TestView_Previews: PreviewProvider { static var previews: some View { TestView() } } 기본으로 만들어진 파일에서는 여러 객체를 작성해도 버티컬하게 잘 보이지만 새로 추가한 파일에서는 프리뷰에 하나의 객체만 보..
로그인 프로젝트에서 Alamofire를 이용해 데이터를 받아왔었는데 URLSession을 써보고 싶어져서 바꿔보기로 했다. 회원가입, 로그인, 프로필정보 이렇게 세 가지의 네트워킹을 하고 있는 상태다. 회원가입에서는 이메일, 이름, 패스워드 세 가지의 파라미터를 받고있고, 로그인에서는 이메일과 패스워드, 그리고 프로필정보에서는 파라미터를 받고 있지 않는다. 다시 말해서, 회원가입과 로그인은 파라미터를 같이 보내야하고 프로필정보는 파라미터를 보낼 필요가 없다는 말이다(헤더로 토큰만) 프로필정보를 받아오기까지는 문제가 전혀 없었다. static func requestProfile(completionHandler: @escaping ((Profile?) -> ())) { let api = SesacAPI.pr..
debug() Rx를 사용하게되면 스트림이 흐르면서 데이터 타입이 많이 바뀜 근데 이때 데이터 연산이 많으면 원했던 형태로 안나올 수도 있고, 이걸 중간에서 체크하기 어려움 Rx를 사용하기 전에는 중간에 print구문을 이용해 현재 데이터를 출력할 수 있었는데, debug도 똑같음 단순하게 print라고 생각하면됨 RxDatasource 아직 직접 적용해보진 않았고 간단하게만 확인해봄 테이블뷰나 컬렉션뷰의 섹션이 한 개가 아닌 경우엔 RxDatasource를 반드시 써야함. 디퍼블 데이터소스랑 구현 방식이 비슷함. lazy var dataSource = RxTableViewSectionedReloadDataSource(configureCell: { dataSource, tableView, indexPat..
Observable과 Subject Subject는 Observable이자 Observer Subject는 스트림 공유 -> 즉, Subscribe할때마다 새로운 시퀀스가 생성되는게 아니라서 리소스 낭비를 줄일 수 있음. Subject에는 Publish, Behavior, Replay, Async가 있는데 다 share()를 내부적으로 갖고있기때문에 따로 추가해주지 않아도됨 subscribe와 bind subscribe는 next, error, complete가 있는데, 무한한 시퀀스에서는 error나 complete를 안씀. -> UI를 핸들링하는 부분은 실패할 일이 거의 없기때문에 error나 complete가 필요없기때문에 bind사용 bind는 UI핸들링에 특화되어있고, 메인스레드에서 동작 bin..
- Total
- Today
- Yesterday