전체 글
-
[Swift] 재귀 알고리즘Coding Test 2023. 11. 28. 00:51
Algorithm Recursion 재귀는 문제를 더 작은 부분으로 나누고, 각 부분의 문제를 해결한 후 결과를 조합해 전체 문제의 답을 찾는 해결 방법이다. 재귀 알고리즘의 법칙 반드시 종료 조건이 있어야 한다. 반드시 자기 자신의 상태를 변경하면서 종료 조건에 가까워져야 한다. 반드시 자기 자신을 재귀적으로 호출해야한다. 종료 조건 재귀 함수에서 재귀 함수가 자기 자신을 끝없이 호출하지 않도록 알고리즘을 빠져나가는 조건 재귀 알고리즘 특징 반복에 비해 코드가 간결함 스택에 데이터 저장 -> 메모리 소비가 많을 수 있음 import Foundation func recursionFunction(input:Int) -> String { if input != 0 { print("\(input)") retur..
-
[SwiftUI] zstack button not working, ZStack에서의 버튼 동작, zIndex()Swift/SwiftUI 2023. 11. 24. 23:02
오류 코드 ZStack{ // Stack 배열 } ZStack에 alignment를 안줬더니 버튼이 안눌린다. 수정한 코드 ZStack(alignment: .bottomTrailing){ ZStack에 alignment를 지정 ZStack(alignment: .bottomTrailing){ //1) 위에 올라오는 버튼 HStack{ Button { print("button pressed") if isStopedtimer == false{ isStopedtimer = true } else { isStopedtimer = false withAnimation { index = index < images.count ? index + 1 : 1 // selectedNum 값은 images 배열의 element 값..
-
[SwiftUI] scaledToFill vs scaledToFit와 frame의 순서Swift/SwiftUI 2023. 11. 19. 18:33
scaledToFill vs scaledToFit ⚠️ 순서에 유의! scaledToFill이 먼저 와야함 HStack{ KFImage(URL(string: feed.profileImage)) .resizable() .clipShape(Circle()) //순서에 유의! .frame(width: .screenWidth*0.13, height: .screenWidth*0.13) .scaledToFill() .border(.black) Text("\(feed.creatorID)") Spacer() } 먼저 이미지를 조정하고 사이즈를 잘라준다. HStack{ KFImage(URL(string: feed.profileImage)) .resizable() .clipShape(Circle()) //scaledToF..
-
[SwiftUI] list에서 가장자리 여백 제거, 구분선 제거Swift/SwiftUI 2023. 11. 19. 17:08
가장자리 여백을 제거해봅시다. 전 -> 후 import SwiftUI struct FeedListView: View { @ObservedObject var feedStore: FeedStore = FeedStore() var body: some View { NavigationView { List { ForEach(feedStore.feeds,id: \.self) { feed in FeedCellView(feedStore: feedStore, feed: feed) // list 여백 제거 .listRowInsets(EdgeInsets()) // listSeparator 제거 .listRowSeparator(.hidden) } } .listStyle(PlainListStyle()) } } } list 여백 ..
-
[Swift] 내적Coding Test 2023. 11. 12. 23:24
import Foundation func solution(_ a:[Int], _ b:[Int]) -> Int { var resultArray: [Int] = [] var result: Int = 0 for i in 0...a.count - 1 { resultArray.append(a[i]*b[i]) } result = resultArray.reduce(0){$0+$1} return result } 1. 배열의 개수는 a.count - 1 이 필요하다. : 배열 원소 접근 시 주의할 것 2. reduce 사용법 reduce(초기값){실행할 작업} reduce(0, +) reduce(초기값,실행할 작업) 이렇게도 표기 가능 3. zip으로 묶고, map으로 (풀이 참고) zip(a, b).map(*).red..