전체 글 (39) 썸네일형 리스트형 [TIL] 24.04.08 MON #Morning Algorithm 프로그래머스 연속 부분 수열 합의 개수 - 해결 - 5분 - DP방식으로 누적합 배열을 생성해 2중포문으로 더해가며 해결 - Set 메서드 - insert(): 원소 추가 -> Bool 성공 실패를 반환 - update(with:): 원소 추가 -> Optional(e) 성공시 optional 타입으로 원소반환, 실패시 nil - remove(): 원소 삭제 - isSubset(of:): 부분 집합 여부 bool 타입 리턴 - isSuperSet(of:): 상위 집합 여부 bool 타입 리턴 - isDisjoint(with:): 원소가 모두 다르다면(서로수 집합이면) true 리턴 [TIL] 24.04.04 FRI #Morning Algorithm 프로그래머스 멀리 뛰기 - 해결 - 5분 - DP로 해결 - arr 안만들고 변수만 생성해서 찾는 풀이도 기억(DP 방식일 때) #uikit cell과 collectionView or tableView의 데이터 전달 방법에 대해서 고민 - 셀에 직접 데이터 모델 인스턴스를 주입시키지 않는 방법은 뭐가있을까...? - type property 를 사용해 모든 셀에서 tableView의 공통 데이터에 접근하도록 구현했지만,, - 구조적으로 아름답지 않음.. - 클로저나 delegate 패턴을 사용해 보는게 더 좋을것같음(다른 사람이 uistepper로 구현해서 이번엔 사용 X) [TIL] 24.04.04 THU #Morning Algorithm 프로그래머스 N개의 최소공배수 - 해결 - 15분 func lcm(_ a: Int, _ b: Int) -> Int { return (a * b) / gcd(a, b) } func gcd(_ a: Int, _ b: Int) -> Int { var r = 0 var a = a var b = b while (b != 0) { r = a % b a = b b = r } - 최대공약수, 최소공배수 공식 - DP 로 해결한 값들의 합이나 연관된 값을 구할땐 reduce를 사용해보자 #UIkit StoryBoard 여러 파일로 작업할 때 - Storyboard references 를 추가해 현재 스토리보드에서 다른 스토리보드를 알수 있도록 하자 #객사오 - 3장 - 추상화: 복잡한 .. [TIL] 24.04.03 WED #Morning Algorithm 프로그래머스 예상 대진표 - 해결 - 35분 - 이진탐색으로 해결 - a와 b를 짝수로 밀고 같아질 때 까지 2로 나누면서 해결하는 로직도 있다.. - pow(a, b) -> pow메서드는 오버로딩으로 (Float, Float) (Deciaml, Int)등을 파라미터로 가지는 메서드 각각 반환 타입이 여러가지이므로 pow(Double(a), Double(b)) -> Double 등을 사용후 Int로 형변환 하는게 편하다 #UIkit - UISheetPresentationController - half modal, half -> large, graber 유무 등 모달 관련 속성 수정가능 - detent: 어디까지 modal View가 올라올건지 -> half와 large가.. [TIL] 24.04.02 TUE #Morning Algorithm 프로그래머스 Jaden Case 문자열 만들기 - 40분 - 해결 - map 함수 내에서 구분해서 return이 오류 [TIL] 24.04.01 MON #Morning Algorithm 프로그래머스 피보나치 수 - 해결 - 5분 - 과거 재귀로 해결했지만 이번엔 DP로 해결 #UIkit - CollectionView Error UICollectionView must be initialized with a non-nil layout parameter - CollectionView 인스턴스 생성시 layout이 필요함 [TIL] 24.03.29 FRI #Morning Algorithm 프로그래머스 최댓값과 최솟값 - 해결 - 4분 - [Int].min(), [Int].max() 사용 min/max는 Array내부 프로퍼티가 아닌 함수로 `()`실행을 잊지말자 # MVVM 아키텍처 - ViewModel은 View와 Model의 중개자 역할 - View는 ViewModel 내에 사용하는 메서드와 데이터를 바인딩해 통신 - ViewModel은 View를 알지 못함, Model은 ViewModel을 알지 못함 - SwiftUI로 구현해봄 # 깃 명령어 복습 - 협업시 fork해 자신의 main에서 작업해놓고, 순서대로 main을 pull한 뒤 merge하면서 모두 반영 [TIL] 24.03.28 THU #Morning Algorithm 프로그래머스 신고 결과 받기 - 해결 - 1시간 - 2중 for문 내에서 contatins() 체크 -> 시간초과, dictionary에서 포함 여부를 바로 체크로 해결 - 집합의 교집합의 count로 하려했으나 구문이 생각이 안나 반복문으로만 해결 - 집합 Set(Array)로 변환, 중복제거 - 합집합: setA.union(setB) - 교집합: setA.intersection(setB) - 여집합: setA.subtracting(setB) (A-B) - 대칭자: setA.symmetricDifference(setB) ( 합집합 - 교집합 ) -Dictionary 초기화를 한번에 하지않고 (dict[key] ?? (default))로 체크하면 간단 (Nil coale.. 이전 1 2 3 4 5 다음