[Swift/Python] 백준 BOJ - 2170 선 긋기
·
코딩테스트
Github GitHub - jeongju9216/Algorithm: Swift/Python 알고리즘 Swift/Python 알고리즘. Contribute to jeongju9216/Algorithm development by creating an account on GitHub. github.com 문제 링크 https://www.acmicpc.net/problem/2170 풀이 정렬, 그리디로 해결할 수 있습니다. 시작하는 점을 오름차순으로, 시작하는 기준이 같다면 끝나는 점을 오름차순으로 정렬합니다. left, right에 0번 점의 start, end를 저장합니다. 1번 점부터 반복을 시작합니다. 점의 end가 right 보다 크다면 right를 갱신합니다. 점의 start가 left보다 크면 l..
[Swift/Python] 백준 BOJ - 1744 수 묶기
·
코딩테스트
Github GitHub - jeongju9216/Algorithm: Swift/Python 알고리즘 Swift/Python 알고리즘. Contribute to jeongju9216/Algorithm development by creating an account on GitHub. github.com 문제 링크 https://www.acmicpc.net/problem/1744 풀이 그리디 문제로 다양한 예외가 존재했던 문제입니다. 질문 게시판의 테스트케이스 모음을 참고하며 해결했습니다. (https://bingorithm.tistory.com/3) 자연수 배열과 음수, 0 배열을 따로 만들어 입력받습니다. 자연수는 내림차순, 음수,0 배열은 오름차순으로 정렬합니다. 연산 결과를 담을 배열을 정의합니다. ..
[Swift/Python] 백준 BOJ - 10825 국영수
·
코딩테스트
Github GitHub - jeongju9216/Algorithm: Swift/Python 알고리즘 Swift/Python 알고리즘. Contribute to jeongju9216/Algorithm development by creating an account on GitHub. github.com 문제 링크 https://www.acmicpc.net/problem/10825 풀이 간단한 정렬문제입니다. 스위프트와 비교했을 때, 파이썬의 간편함을 알 수 있는 문제라 가져와 봤습니다. 문제의 정렬 조건은 이렇습니다. 국어 점수가 감소하는 순서로 국어 점수가 같으면 영어 점수가 증가하는 순서로 국어 점수와 영어 점수가 같으면 수학 점수가 감소하는 순서로 모든 점수가 같으면 이름이 사전 순으로 증가하는 순서..
[Python] 유용한 파이썬 코딩테스트 코드
·
코딩테스트
파이썬으로 코딩테스트를 풀면서 유용하다고 느낀 코드입니다. 문제 풀면서 업데이트 예정입니다. 단순 입력 파이썬에서는 input( )을 이용해 입력받을 수 있습니다. 하지만 sys.stdin.readline을 이용하면 더 빠른 입력이 가능합니다. import sys sys.stdin.readline() 여러 행을 입력받는 경우 개행이 \n로 입력됩니다. 이를 없애기 위해 rstrip( )을 함께 사용합니다. sys.stdin.readline().rstrip() 매번 위 코드를 작성할 순 없습니다. (너무 기니까요.) sys.stdin.readline 을 하나의 변수에 담아 사용 가능합니다. import sys; readl = sys.stdin.readline readl().rstrip() 입력 받은 결과는..
[iOS] Jetflix 9. 리팩토링 - 무한 스크롤과 TabBar 클릭
·
iOS 프로젝트/클론
* 진행 코드는 https://github.com/jeongju9216/Jetflix에서 볼 수 있고, PR에서 에피소드 단위로 코드를 확인할 수 있습니다. 서론이번 Jetflix 9 리팩토링은 무한 스크롤과 Tab 이벤트를 구현했습니다. 상용 앱처럼 스크롤 맨 아래까지 내려오면 다음 컨텐츠를 load하는 기능과 탭바를 누르면 맨 위로 스크롤되는 기능입니다. (이번 포스팅을 마지막으로 iOS 공부는 줄이고 코딩 테스트 연습에 주력하려고 합니다. 작년부터 코딩 테스트를 보기 시작했는데 초조함, 부담감때문인지 어째 작년보다 통과율이 더 낮네요 ㅎㅎ; 그래서 iOS 공부보다는 코딩테스트 공부에 주력하려고 합니다. iOS 취업을 하려면 iOS 공부를 줄여야 하다니.. 아이러니하면서 속상함이 크네요. (코테만을 ..
[iOS] Jetflix 8. 리팩토링 - 의존성 주입
·
iOS 프로젝트/클론
* 진행 코드는 https://github.com/jeongju9216/Jetflix에서 볼 수 있고, PR에서 에피소드 단위로 코드를 확인할 수 있습니다. 서론 이번에는 프로젝트에 의존성 주입을 개선했습니다. 기존에는 객체가 필요한 곳에서 바로 객체를 생성하여 사용했습니다. 그래서 ViewController에서 ViewModel을 생성할 때면 UseCase와 Repository를 매번 생성해야 했습니다. 이를 DI Container를 이용해 외부에서 주입해서 중복되는 코드를 줄이고, 의존성 관심사를 DI Container로 몰아 넣어서 프로젝트 관리 용이, 객체 재사용성을 높이도록 개선했습니다. let viewModel = HomeViewModel(getContentUseCase: .init(repos..
[iOS] Jetflix 7. 리팩토링 - CollectionView 개선
·
iOS 프로젝트/클론
* 진행 코드는 https://github.com/jeongju9216/Jetflix에서 볼 수 있고, PR에서 에피소드 단위로 코드를 확인할 수 있습니다. 서론 이번 포스팅에서는 리스트 레이아웃을 개선한 내용을 작성하겠습니다. 기존의 UITableView + CollectionView FlowLayout 구조를 CollectionView CompositionalLayout 단일 구조로 변경했습니다. 고수님들께는 간단한 작업일 수 있지만, 저는 이 작은 작업에서도 왜 오래된 코드를 최신 코드로 바꾸기 어려운건지 느낄 수 있었습니다 ㅎㅎ; 개선 내용은 아래와 같습니다. CollectionView CompositionalLayout 적용 UICollectionViewDiffableDataSource 적용 D..
[iOS] Jetflix 6. 리팩토링 - UseCase 구현
·
iOS 프로젝트/클론
* 진행 코드는 https://github.com/jeongju9216/Jetflix에서 볼 수 있고, PR에서 에피소드 단위로 코드를 확인할 수 있습니다. 서론 원래는 UseCase와 View 개선을 함께 다루려고 했지만 UseCase만 먼저 작성하기로 했습니다. Clean Architecture에서 UseCase를 구현할 때 가장 애매하고 고민이 많아지는 것 같습니다. Clean Architecture 학습을 목표로 제 프로젝트에 맞게 고민하면서 코드를 작성하고 있으나 잘 구현하고 있는지...조차 잘 모르겠습니다. 혹시나 보시는 고수분이 계신다면 댓글로 가르침 주시면 정말 감사할듯 합니다 ㅎㅎ 개선 내용은 아래와 같습니다. UseCase를 구현하여 ViewModel과 Repository의 연결을 끊음..
[iOS] Jetflix 5. 리팩토링 - ViewModel 개선
·
iOS 프로젝트/클론
* 진행 코드는 https://github.com/jeongju9216/Jetflix에서 볼 수 있고, PR에서 에피소드 단위로 코드를 확인할 수 있습니다. 개선 내용 첫 번째 리팩토링은 코드와 구조 수정에 집중했습니다. MVC 구조를 MVVM으로 변경 Enum을 이용해 ViewModelActions 정의 Enum을 이용해 API 콜 메서드 정리 1. 클론 코딩 영상에서는 MVVM이라고 설명하고 있었지만, 제가 느끼기에는 MVC의 구조를 가지고 있다고 느꼈습니다. ViewController에서 데이터를 직접 API Call을 하고 데이터를 생성, 조작했기 때문입니다. 따라서 이부분을 개선하여 ViewModel에서 데이터를 생성, 관리했습니다. 이 과정에서도 고민점은 있었는데요. 과연 변화가 없는 데이터도..
[iOS] 넷플릭스 클론 코딩 4. CoreData 사용 (영상 끝)
·
iOS 프로젝트/클론
* 진행 코드는 https://github.com/jeongju9216/Jetflix에서 볼 수 있고, PR에서 에피소드 단위로 코드를 확인할 수 있습니다. 이번 포스팅까지가 영상을 따라 구현하는 내용입니다. 다음 포스팅부터는 스스로 고민하며 리팩토링하는 과정을 작성하겠습니다. 서론 넷플릭스 클론 코딩 - 4 내용은 Amr 유튜브 채널의 Building Netflix App in Swift 5 and UIKit - (Xcode 13, 2021) 에피소드 11, 12, 13, 14 내용입니다. 에피소드 11, 12, 13, 14에서는 유튜브 API와 웹뷰를 사용해 트레일러 영상을 재생하고, CoreData를 이용해 Entity를 저장하는 과정까지 진행했습니다. 구현 내용 Youtube Data API 사용..
유정주
'분류 전체보기' 카테고리의 글 목록 (11 Page)