본문 바로가기

분류 전체보기196

갑자기 맥북 인터넷 안될때(와이파이 지웠다 깔았는데도 안된다면 !) 와이파이는 잘 되는데 갑자기 맥북 인터넷만 안된다면, 와이파이는 들어오는데 갑자기 인터넷이 안되면 1. 우선 와이파이를 지워봅니다. 네트워크 환경설정을 연뒤 - 를 눌러서 와이파이를 지우고 +를 눌러서 와이파이를 추가해 주세요 그런데도 안된다면 2. 커넥터 다 뽑아보세요 충전기 빼고 연결되어 있는 잭 다 뽑아버리세요 저는 이 방법으로 됬습니다. 진짜 어이없... 2020. 11. 30.
[leetCode] 13. 3Sum (알고리즘, 원리) with Swift leetCode submit 통과하면 다른 분들이 짜 놓으신 환상적인 알고리즘 볼 수 있습니다. 제껀 참고와 통과용으로 봐주세요 ㅠㅠ 효율성 갖다버린 코드입니다. 허헣 다른 글에서 얼핏 노가다 코드라고 적힌 걸 봤어요 ㅎㅎ 아마 다른 방법으로 탐색하는 것도 있겠지만 어떻게든 탐색 범위를 줄이는 것이 이 문제에서 time 복잡도를 줄일 수 있는 방법이 아닐까 싶습니다. 👇광고 붙이고 문제랑 예시 올리면 안된다고 들어서 문제는 링크로 대신합니다 👇 https://leetcode.com/problems/3sum/ 3Sum - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowl.. 2020. 11. 4.
Mac에 Realm Studio 설치하기 (악성 소프트웨어가 있는지 확인 할 수 없기 때문에 열 수 없습니다.) realm.io/kr/products/realm-studio/#download-studio Realm Studio: open, edit, and manage your Realm data Download our cross-platform developer tool for the Realm Database and Realm Platform. Available for Mac, Windows, and Linux. realm.io 위 링크 클릭 운영체제에 맞는 버튼을 눌러주면 다운로드를 시작합니다. 설치한 위치에 있는 Realm Studio를 Applications 폴더로 옮겨 주세요 dmg 파일은 지워주셔도 됩니다. 다운로드에 대해 별다른 설정을 하지 않으면 'Realm Studio'은(는) Apple에서 악성.. 2020. 10. 25.
[프로그래머스] 완주하지 못한 선수 with python (feat. hash) 해시 테이블 Key & Values - 해시 테이블은 value와 key를 가짐 - 딕셔너리와 다른 점은 key가 계산된 숫자 시퀀스 혹은 char - 배열을 사용해서 연속적이지 않은 buckets라고 불리는 구조에 저장 - 각 값의 위치는 해시 함수에 의해 계산 해시 충돌(collisions) 다른 값을 input 했지만 같은 hash값을 가지는 경우(다른 값이라도 같은 해시를 가질 수 있지만 같은 해시 값이라 해서 같은 인스턴스는 아님 -> 단방향) 해시의 장점 중복을 허용하지 않기 때문에 중복되지 않는 데이터 값을 가져야 하는 구조에서 사용할 수 있다. 특히 그 크기가 어떻든 간에 값을 찾는 시간 복잡도가 O(1)이기 때문에 크기가 큰 데이터에서 값을 효과적으로 찾을 수 있다. 딕셔너리를 사용한 이.. 2020. 10. 13.
iOS에서 MVC와 MVVM 간단히 살펴보기 참고 사이트 👇 iOS MVVM Tutorial: Refactoring from MVC In this iOS tutorial, you’ll learn how to convert an MVC app into MVVM. In addition, you’ll learn about the components and advantages of using MVVM. www.raywenderlich.com 프로그래밍을 하다보면 어떻게 의존성을 줄이고 각 특징에 맞게 클래스를 분리하며 복잡하고 난잡한 코드를 깔끔하게 유지하려는 노력을 볼 수 있다. 웹 프로그래밍에서는 MVC를 배우게 되는데 이때 M은 model의 약자로 데이터의 모음이나 데이터 클래스, 데이터 객체 등을 의미한다. V는 view의 약자로서 사용자에게 보여.. 2020. 10. 12.
API 사이트 모음 (상시 업데이트) https://www.weatherbit.io/ Weatherbit | Weather API - Historical Weather API Simple. Powerful. Reliable. Getting access to weather data or historical weather data has never been easier. Unparalleled Forecast Accuracy We leverage the power of forecast models, and machine learning to deliver the most accurate weather forecast API on www.weatherbit.io 가입해서 free plan으로 사용하면 제한된 횟수 안에서 국가, 지역의 날씨 API.. 2020. 10. 12.
[leetCode] 152. Maximum Product Subarray 카단 알고리즘의 변형 저번 leetCode에서 풀었던 Maximum Subarray와 비슷한 문제이다. 때문에 기존에 익혔던 카단 알고리즘을 사용하면 되지만 변수가 존재한다. Product는 곱으로서 음수와 음수의 곱은 양수가 되고 양수에 음수를 곱하게 되면 음수가 되기 때문에 이 경우의 수를 대비하여 최대 값을 구해 주어야 한다. 카단 알고리즘은 쉽게 말하면 현재 값으로만 이루어진 어레이와 이전 어레이+현재값으로 이루어진 서브 어레이의 비교라고 할 수 있다. class Solution { func maxProduct(_ nums: [Int]) -> Int { var num = nums var maxP = num[0] var minP = num[0] var answer = num[0] for i in 1.. 2020. 10. 12.
[Swift] 프로젝트에 Realm 적용하기 (cocoapod 부터 차근차근) Swift 프로젝트에 Realm 데이터베이스를 사용하기 위해서 코코아팟으로 install 해봅시다~ 우선 할 것은 Finder에 자신의 프로젝트 파일을 띄워 놓으세요 제 프로젝트 파일 명은 "Universal Memo" 입니다. 이제 Command + Space bar를 눌러서 terminal을 검색하고 실행 합니다 cd를 입력하고 프로젝트 파일을 drag해서 terminal로 이동시켜 주세요 그리고 enter을 눌러주면 해당 폴더에서 작업을 실행 할 수 있습니다. 이렇게 자신의 프로젝트로 작업 파일 위치 변경 된 걸 확인하고 pod init 을 입력해 주세요 그러면 프로젝트 파일에 보면 Podfile이 생성되어 있는 것을 확인 할 수 있습니다. 저는 vi 편집기를 사용하겠습니다. 다시 terminal로.. 2020. 10. 8.
[Swift] Notification으로 view와 view 데이터 절달하기 나중에 참고 하려고 적는 글 클래스 신원을 체크할 수 없게 되서(?) 드디어 Notification을 쓰기로 했다! 왜 RxRx하는지 알거 같다... ㅎㅎㅎ 1. Notification 등록하기 NotificationCenter.default.addObserver(self, selector: #selector(updateDateLabel(_:)), name: .updateYearDate, object: nil) NotificationCenter.default.addObserver(self, selector: #selector(updateHour(_:)), name: .updateHour, object: nil) NotificationCenter.default.addObserver(self, selecto.. 2020. 10. 7.
[leetCode] 53. Maximum Subarray with Swift 카단 알고리즘으로 쉽게 구하기 leetCode 53은 모든 원소의 값의 합이 최대값을 가지는 서브 어레이를 구하는 것이 목표입니다. 이때 서브 어레이는 연속성을 가져야 하는데, 이 뜻은 중간 인덱스를 뛰어 넘지 않고 인덱스 순서대로 되어 있는 어레이입니다. 그렇기 때문에 배열에서 최대값들의 조합만을 찾아 구하는 것이 아니며 어떤 서브 어레이가 가장 최고의 값을 가지고 있는지 구하는 것이 이 문제에 포인트 입니다. 서브 어레이의 최대값을 구하는 문제에서 많이 언급되는 알고리즘은 Kadane 알고리즘입니다. reference Youtube video here 👇 우선 문제에서 주어진 [-2, 1, -3, 4, -1, 2, 1, -5, 4]를 봅시다. 여기서 첫번째 4를 중점으로 보겠습니다. 현재 인덱스는 3이고 그 인덱스의 값은 4입니다.. 2020. 10. 6.
[Swift] Date와 DateFormatter로 한국 현재 시간 구하고 UILabel에 넣어보기 그 동안 미루고 있었던 Date를 볼때가 온거 같다....🤨 Horizontal collectionView에 첫 번째 셀을 현재 날짜로 기준해서 그 다음 날에 다음 셀을 할 당해 주는 식으로 만들겁니다! 우선 now라는 프로퍼티를 만들어 줍니다. let now = Date().timeIntervalSince1970 Date() 는 현재 날짜와 시간을 반환하게 되는데 timeIntervalSince1970은 1970년 이후로 몇 초가 흘렀는지 나타냅니다. 현재 시간을 now라는 프로퍼티에 지정해 줍니다. 다음으로 DateFormatter을 작성합니다. let date: DateFormatter = { let df = DateFormatter() df.locale = Locale(identifier: "ko.. 2020. 9. 29.
[Swift] UICollectionViewCell 안에 UICollectionView 넣기 UICollectionViewCell 또한 타고 타고 올라가다 보면 UIView이기 때문에 기존에 적용한 방식과 똑같이 해주면 됩니다. 구성을 보면 주황색 뷰는 3개의 섹션을 가진 UICollectionView이고 초록색 구성을 보면 주황색 뷰는 3개의 섹션을 가진 UICollectionView이고 초록색은 각 섹션에 들어가 있는 하나의 UICollectionViewCell 입니다 그리고 분홍색은 마지막 섹션에 있는 UICollectionViewCell에 UICollectionView를 넣고 sub cell을 구현해 준 모습입니다 우선 마지막 줄에 있는 초록색 UICollectionViewCell의 클래스 이름을 MinutePickerCell 이라고 하고 여기에 분홍색의 UICollectionView를 .. 2020. 9. 29.