전체 글

성장하는 공공돌 블로그🧸 💻
iOS/SwiftUI

[ SwiftUI ] Custom Tab Bar 만들기

SwiftUI를 통해 Custom Tab Bar를 만들어 봤습니다.기존의 Tabbar를 사용하기에는 원하는 디자인이 나오지 않아 Custom으로 만들어야겠다고 생각했습니다.TabbarViewTab의 이름들을 enum으로 정의를 해 가독성 향상과 유지보수가 용의하게 만들었습니다.import SwiftUIenum Tab { case home case wishList case camera case cart case account}struct TabbarView: View { @State var selectedTab: Tab = .home var body: some View { VStack { switch selectedTab { ..

iOS/SwiftUI

[ SwiftUI ] 광고배너 만들기

SwiftUI를 통해 광고배너를 만들어봤습니다.먼저 광고배너를 만들기 위해서 TabView를 채택하여 구현을 했고 구현 목표는 아래와 같았습니다. 3초간격으로 화면 이동무한적인 광고배너 ( 1 -> 2 -> 3 -> 1 -> 2-> . . .)먼저 무한적인 광고배너를 만들기 위해 아래의 글을 참고해서 구현했습니다. Bidirectional infinite PageView in SwiftUII'm trying to make a bidirectional TabView (with .tabViewStyle(PageTabViewStyle(indexDisplayMode: .never))) whose datasource will change over time. Below is the code that describe..

CS50

[ CS 50 ] 시간복잡도와 Big-O 표기법

시간 복잡도시간 복잡도란 알고리즘을 수행할 때 걸리는 시간을 기준으로 효율성을 분석하는 것입니다. 시간의 효율성이란 결국 알고리즘에서 비교와 교환 등이 일어날 때 연산자의 처리 횟수가 적다는 의미이며, 연산자의 처리 횟수가 적다는 건 시간의 복잡도가 낮다는 의미입니다. 따라서 시간 복잡도가 낮을수록, 연산자의 사용 횟수가 적을수록 효율성이 높은 알고리즘이 됩니다. Big-O 표기법Big-O notation is a way of converting the overall steps of an algorithm into algebraic terms, then excluding lower order constants and coefficients that don’t have that big an impact o..

iOS/SwiftUI

[ SwiftUI ] SearchBar 만들기

프로젝트 진행 과정 중 검색바 (SearchBar)를 만들어 봤습니다.유저의 관심 질병과 해당 질병에 관련 검색어 리스트를 가져와 랜덤한 키워드를 표기해 줍니다.import SwiftUIstruct SearchBarView: View { // 유저 검색 @State var searchText: String = "" // 유저 관심 질병 @State var userInterest: String = "당뇨" // 관련 인기검색어 목록 @State var keywords: [String] = ["삼육두유당뇨케어푸드"] var randomKeyword: String { keywords.randomElement() ?? "" } var b..

CS50

[ CS50 ] 선형 탐색

선형 탐색선형탐색은 원하는 원소가 발견될 때까지 처음부터 마지막 자료까지 차례대로 탐색합니다. 이렇게 하여 선형 탐색은 찾고자 하는 자료를 찾을 때까지 모든 자료를 확인해야 합니다.효율성 그리고 비효율성선형 탐색 알고리즘은 정확하지만 아주 효율적이지 못한 방법입니다. 리스트의 길이가 n이라고 했을 때, 최악의 경우 리스트의 모든 원소를 확인해야 하므로 n번만큼 실행됩니다. 여기서 최악의 상황은 찾고자 하는 자료가 맨 마지막에 있거나 리스트 안에 없는 경우를 말합니다. 만약 100만 개의 원소가 있는 리스트라고 가정해본다면 효율성이 매우 떨어짐을 느낄 수 있습니다. 반대로 최선의 상황은 처음 시도했을 때 찾고자 하는 값이 있는 경우입니다. 평균적으로 선형 탐색이 최악의 상황에서 종료되는 것에 가깝다고 가정..

Algorithm/프로그래머스

[ 프로그래머스 ] 코드 처리하기

문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 코드import Foundationfunc solution(_ code:String) -> String { var idx = code.map {String($0)} var mode = 0 var ret: String = "" for i in 0 ... code.count-1 { if mode == 0 { if idx[i] == "1" { mode = 1 }else{ ..

Sheep1sik
공공돌