전체 글
-
[iOS] CoreData vs UserDefaultsApple🍎/iOS 2024. 4. 15. 13:48
CoreData란?코어데이터는 SQLite를 데이터의 영구 저장소로서 사용할 뿐, 코어데이터 자체는 명백히 ‘프레임 워크’이다.*DataBase가 아닌 ORM(Object Relational Mapping) 프레임워크저장되는 곳은?CoreData는 데이터베이스 형태로 구조화된 데이터를 저장하고 관리하는데 사용된다.SQLite와 유사한 내부 구조를 가지며, "Documents" 디렉토리 내에 SQLite 파일 형태로 저장됩니다. 대용량의 데이터나 복잡한 데이터 모델을 다루는 데 유용합니다.CoreData 구조*관리 객체란?-> DB의 테이블 행, 1개의 레코드를 의미맨 위의 파란색인 Persistent Container(영구 컨테이너)코어 데이터 스택 자체의 생성과 관리를 담당하는 컨테이너관리 객체 con..
-
[iOS] Cocoapods, Carthage, Swift Package ManagerApple🍎/iOS 2024. 4. 15. 13:47
라이브러리 설치 시에 한번쯤은 고민하는 cocoapods, spm 같은 Dependency Management에 대해 알아보려 한다!한번 설치된 내 라이브러리가 업데이트 된 경우, 내 프로젝트에서도 해당 라이브러리를 최신 버전으로 업데이트 해야할 경우, 등등이렇게 프로젝트 내의 외부 라이브러리를 관리해주는 것을 Dependency Management 라고 한다.Dependency Management를 하는 방법은 총 3가지 이다.Cocopapods (코코아팟)Carthage (카르타고)Swift Package Manager (SPM)Cocoapods란?Cocoapods 설치 방법크게 Podfile, Pods, Podfile.lock 이렇게 3가지를 중점으로 본다.Cocoapods 설치sudo gem in..
-
[백준] 2138번: 전구와 스위치(Python, 그리디)Algorithm PS👩🏻💻/백준 2024. 4. 2. 16:46
문제 https://www.acmicpc.net/problem/2138 2138번: 전구와 스위치 N개의 스위치와 N개의 전구가 있다. 각각의 전구는 켜져 있는 상태와 꺼져 있는 상태 중 하나의 상태를 가진다. i(1 < i < N)번 스위치를 누르면 i-1, i, i+1의 세 개의 전구의 상태가 바뀐다. 즉, 꺼져 www.acmicpc.net 풀이 (2번~ n번) 모든 전구는 i번째를 눌렀을때 i-1번째의 전구 상태를 마지막으로 결정한다. i번째가 누를지 말지에 따라 i-1번째의 전구 상태가 정해지고 뒤로 가면 i-1번째 전구는 바뀌지 않는다. 그러므로 i번째의 전구를 누를지말지는 i-1번째의 상태와 목표 전구의 상태를 비교하며 결정한다. (1번 전구 설정하기) 그럼 초기값인 0번째의 전구를 누를지 말..
-
[iOS/SwiftUI] Kakao Local API - 키워드로 내 주변 장소 탐색Apple🍎/iOS 2024. 4. 2. 16:18
Kakao local API를 사용하게 된 이유EYE-Mate 프로젝트에서 사용하는 내주변 안과, 안경점 탐색을 담당하던 Naver Search Place API 쿼리가 서비스를 중단하면서.. 어떻게 할까 고민하다가 Kakao Local API가 주변 장소 탐색을 지원하고 한번에 15개의 장소를 반환할 수 있다는 것에 카카오 API를 선택했다.원래 사용하던 naver api json 구조에는 장소의 기본 정보 뿐 아니라 오픈 상태, 썸네일 등등이 추가적으로 주어졌는데, kakao & naver둘다 API로 제공하는 장소 정보를 줄여버렸다.kakao 지도보다는 네이버 지도가 더 친숙하고 이미 구현해놨기도 해서 카카오 api로 데이터만 받아 장소 위치좌표를 네이버 지도에 뿌리려한다.API를 받아오는 과정은A..
-
[코드트리,백트래킹] 아름다운 수Algorithm PS👩🏻💻 2024. 4. 2. 12:18
문제 https://www.codetree.ai/missions/2/problems/beautiful-number?&utm_source=clipboard&utm_medium=text 풀이 - 백트래킹의 기본은 종료조건. 종료조건으로는 (배열의) 길이인 경우가 많다. - 백트래킹을 잘 못해서 해설을 봤음 ㅠ 연습 좀 해야될거같다 종료 조건은 아는데 아름다운 수를 재귀로 어떻게 판단할지 모르겠음 - 연속하는 수의 시작 위치를 찾아내는 방법이다. - 위치(i) + 그 위치의 연속하는 숫자(arr[i]) 를 하면 숫자 만큼 연속해야되기때문에 다음 연속하는 수의 시작위치를 의미한다! n = int(input()) def is_beautiful(arr): # 연속하는 해당 숫자의 시작 위치를 찾기 i = 0 whi..
-
[백준] 15732번: 도토리 숨기기(Pyhton, 이진 탐색)Algorithm PS👩🏻💻/백준 2024. 3. 21. 11:15
문제 링크 https://www.acmicpc.net/problem/15732 15732번: 도토리 숨기기 첫째 줄에 상자의 개수 N(1 ≤ N ≤ 1,000,000)과 규칙의 개수 K(1 ≤ K ≤ 10,000), 도토리의 개수 D(1 ≤ D ≤ 1,000,000,000)가 주어진다. 그 후 K개 줄에는 A, B, C(1 ≤ C ≤ A ≤ B ≤ N)가 주어지며 A번 상자부터 www.acmicpc.net 풀이 처음엔 단순히 N(상자 개수)개의 누적합 테이블(dp)을 만들어, start, end, mid를 통해서 dp[mid]의 도토리 개수에 따라 mid를 파악하려 했다. [시간 초과 난 코드] import sys input = sys.stdin.readline N, K, D = map(int, inpu..
-
[백준] 21278번: 호석이 두마리 치킨(Python, 플로이드워셜)Algorithm PS👩🏻💻/백준 2024. 3. 20. 15:32
문제링크 https://www.acmicpc.net/problem/21278 21278번: 호석이 두 마리 치킨 위의 그림과 같이 1번과 2번 건물에 치킨집을 짓게 되면 1번부터 5번 건물에 대해 치킨집까지의 왕복 시간이 0, 0, 2, 2, 2 로 최소가 된다. 2번과 3번 건물에 지어도 동일한 왕복 시간이 나오지만 더 www.acmicpc.net 풀이 - combinations로만 풀기엔 시간초과가 나는게 뻔해서 고민했다. 완전 탐색 문제인데 어떻게 다 돌지? - 질문게시판에 플로이드 워셜로 하면 금방 다그래서 봤더니 진짜 금방이다:) - 모든 지점 -> 모든 지점은 플로이드워셜, 최단 경로 알고리즘으로만 생각했는데 완전 탐색도 포함이니까 잊지말자! from itertools import combin..