swift 172

[Swift] Factory Pattern

Factory Pattern ✅ Factory Pattern 아래의 문서를 구입하여 영어 문서를 번역하고 이해한 것을 바탕으로 글을 작성하고 있습니다. https://www.raywenderlich.com/books/design-patterns-by-tutorials/v3.0/chapters/11-factory-pattern Design Patterns by Tutorials, Chapter 11: Factory Pattern The factory pattern provides a way to create objects without exposing creation logic. Technically, there are multiple "flavors" of this pattern, including a ..

[iOS] tableViewCell Swipe Action 구현하기

tableViewCell Swipe Action 구현하기 ✅ 이번 시간에는 tableViewCell Swipe Action을 구현해보자 직접 애플 문서를 읽어보는 것을 추천하지만, 이 포스팅에서는 정말 간략하게 어떻게 사용하는 지만 알아보자. 이번 포스팅에서는 1. tableView에서 leading과 trailing swipe를 지원해주는 메소드를 사용하여 구현하는 것 2. editStyle을 메소드를 활용하여 구현하는 것 을 볼 예정이다. ✅ 1. tableView에서 leading과 trailing swipe를 지원해주는 메소드를 사용하여 구현하는 것 func tableView(_ tableView: UITableView, leadingSwipeActionsConfigurationForRowAt i..

[iOS] UIButton SystemImage 크기 조절

UIButton SystemImage 크기 조절 ✅ 버튼에 이미지를 넣은 후에 크기 조절하는 코드를 알아볼 예정. ✅ 코드 let taskAddButton: UIButton = { let button = UIButton() let imageConfig = UIImage.SymbolConfiguration(pointSize: 30, weight: .light) let image = UIImage(systemName: "plus", withConfiguration: imageConfig) button.setImage(image, for: .normal) button.tintColor = .white button.la..

[Swift] 프로그래머스 LV2. [1차] 뉴스 클러스터링

프로그래머스 LV2. [1차] 뉴스 클러스터링 ✅ 걸린시간 : 4:26 ~ 5:35 (약 1시간 10분) 처음으로 문제를 해결하는데 걸린시간 4:26 ~ 4:56(30분) 추가적으로 시간이 걸린 이유: 테스트케이스 4,7,9,10,11 실패 테스트 케이스 4,7,9,10,11 [반례] str1: "BAAAA" str2: "AAA" answer: 32768 이 부분에서 봐야하는 점은 중복의 처리이다. 2글자씩 끊을 경우, str1 = ["BA", "AA", "AA", ""AA"] str2 = ["AA", ""AA"] 이렇게 나뉘게 된다. 여기에서 str1에는 AA가 3개 str2에는 AA가 2개이다. 따라서 중복은 2개가 되어야한다. 그런데 위의 테스트 케이스가 틀린 경우에는 이를 정확하게 처리하지 못하는..

[Swift] MVVM Pattern

✅ MVVM Pattern 아래의 문서를 구입하여 영어 문서를 번역하고 이해한 것을 바탕으로 글을 작성하고 있습니다. https://www.raywenderlich.com/books/design-patterns-by-tutorials/v3.0/chapters/10-model-view-viewmodel-pattern Design Patterns by Tutorials, Chapter 10: Model-View-ViewModel Pattern Use this pattern when you need to transform models into another representation for a view. This pattern compliments MVC especially well. You’ll embark..

[Swift] Builder Pattern

Builder Pattern ✅ Builder Pattern 아래의 문서를 구입하여 영어 문서를 번역하고 이해한 것을 바탕으로 글을 작성하고 있습니다. https://www.raywenderlich.com/books/design-patterns-by-tutorials/v3.0/chapters/9-builder-pattern Design Patterns by Tutorials, Chapter 9: Builder Pattern The builder pattern allows the creation of complex objects step-by-step, instead of all at once, via an initializer. For example, you can use this pattern to ..

[Swift] Observer Pattern

Observer Pattern ✅ Observer Pattern 아래의 문서를 구입하여 영어 문서를 번역하고 이해한 것을 바탕으로 글을 작성하고 있습니다. https://www.raywenderlich.com/books/design-patterns-by-tutorials/v3.0/chapters/8-observer-pattern Design Patterns by Tutorials, Chapter 8: Observer Pattern The observer pattern lets one object observe changes on another object. You’ll learn two different ways to implement the observer pattern in this chapter:..

[Swift] 프로그래머스 LV2. 수식 최대화

프로그래머스 LV2. 수식 최대화 ✅ 구현만 하면 문제였는데, 은근히 오래걸렸다. 내가 구현에서 생각보다 오래걸리는데, 문제를 생각하고 설계는 빨리 마치는데, 근데 자꾸 어떤 문제가 발생한다.. 예외처리가 부족하기도 하지만, 그보다도 코드상에서 remove 같은 작업에서 발생하는 실수가 너무 많다. ✅ 코드 알고리즘 접근법에 대해서 처음에는 계산기 알고리즘을 사용하려고 했다. 중위 후위 등 구글에 치면 다양한 알고리즘이 나온다!! 하지만 난, 꼭 그런걸 정량적으로 알고 있어야 문제를 푸는건 불만이었기에 다른 로직으로 내 방식대로 풀어보았다. priority를 6번 반복하는 이유는 어차피 연산자 3개로 우선순위를 매기는 경우의 수가 6가지 밖에 되지 않는다. 두번째는 while문인데, 연산자를 찾아서 그 ..

[Swift] 프로그래머스 LV2. [3차] 파일명 정렬

프로그래머스 LV2. [3차] 파일명 정렬 ✅ 프로그래머스 LV2. [3차] 파일명 정렬 하하,, 문제 딱 봤을 때 이건 10분컷! 이랬는데 결국은 엄청 오래걸림 처음에는 정규 표현식으로 해결하려고 했는데, 정규 표현식 공부를 제대로 해본 적 없어서 구글링으로 사용하는건 학습에 별로 도움 안될거 같아서 패스 (+ 정규 표현식의 시간복잡도에 대한 개념이 없어서 알고리즘이 효율적이지 않을 수도 있단 생각도 들었음) 그래서 그냥 for문을 통해서 접근함. 근데!! 65점에서 막혔음 ^__^ ✅ 코드 (틀린코드 65점) 하도 많이 틀려서 질문도 함.. 반례를 못찾아서 https://programmers.co.kr/questions/30185 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로..

[Swift] 프로그래머스 LV2. 방문 길이

프로그래머스 LV2. 방문 길이 ✅ 쉬웠다. 문득 드는 생각인데, 이렇게 잘 풀리는 문제만 푸는게 도움이 될까 싶다.. ㅠ 🟠 알고리즘 접근 및 풀이의 흐름사실 난이도 자체는 쉬운데 +9점이나 받았다. 카카오 문제가 더 까다로웠던 것 같은데..? 1. 처음에는 point = (x,y)로 두어서 방문한 point를 재방문 안하는 것으로 처리 문제점: (5,5) -> (4,5)와 (4,4) -> (4,5)를 구분할 수 없어서 문제 풀이의 오류 발생 2. 시작점과 도착점을 전부 저장하게끔 변경previousPoint, currentPoint = (5,5,4,5) 이런 식으로 저장따라서 어디에서 어디로 가는지 확인할 수 있어짐문제점 : 왔다갔다의 경우 중복으로 체크가 된다.예시 (4,5,5,5) (5,5,4,5..