분류 전체보기 87

프로그래머스 - 크기가 작은 부분문자열 (Swift, Level1)

문제 👇 https://school.programmers.co.kr/learn/courses/30/lessons/147355 문제설명 📝 숫자로 이루어진 문자열 t와 p가 주어질 때, t에서 p와 길이가 같은 부분문자열 중에서, 이 부분문자열이 나타내는 수가 p가 나타내는 수보다 작거나 같은 것이 나오는 횟수를 return하는 함수 solution을 완성하세요. 예를 들어, t="3141592"이고 p="271" 인 경우, t의 길이가 3인 부분 문자열은 314, 141, 415, 159, 592입니다. 이 문자열이 나타내는 수 중 271보다 작거나 같은 수는 141, 159 2개 입니다. 문제풀이 ✅ t, p의 길이 가져오기 String -> Array로 변환(p의 값과 대조를 위해) 문제풀이 답 fu..

Swift) 코드로 UITableView 구현하기

Swift) 코드로 UITableView 구현하기 코드로 UITableView를 구현해 봅시다. TableView란?? A view that presents data using rows in a single column. -> "단일 열의 행을 사용하여 데이터를 표시하는 보기 입니다" 라고 공식문서에서 소개해주네요 구현된 TableView를 보자면 아래처럼 각각의 표처럼 View가 되어 있고 하나의 칸마다 데이터가 들어간 것을 볼 수 있네요. 또한 관련 행을 섹션으로 그룹화하여 콘텐츠를 관리하거나 탐색할 수 있습니다. 구성 UITableView는 테이블의 기본 모양을 관리합니다. 하지만 앱은 실제 컨텐츠를 표시하는 각각의 Cell(UITableViewCell)을 제공합니다. 아래의 셀 구성은 아래 처럼 ..

iOS/Swift 2023.02.04

.gitignore 활용

https://www.toptal.com/developers/gitignore 1. 위의 사이트가서 관리하고 싶은 키워드를 기입한다. 2. 만약 이미 작업한 프로젝트를 푸시를 했고, 이후에 적용을 하고 싶다면? 이미 푸시를 했다면, 깃에서 해당 파일들을 트래킹 하고 있기 때문에 이를 제거해야 한다. 과정은 - 먼저 위의 과정과 똑같이 .gitignore를 작성하고 저장한다. - 그리고 레포에 푸시를 하기 전에 한 가지 코드를 추가해서 입력하면 된다. - git rm -r --cached . (-> 캐시에 등록된 트래킹 중인 파일들을 삭제하는 명령어) 이후에는 마찬가지로 - git add . - git commit -m 'commit message' - git push origin main

SwiftUI alert in iOS14

SwiftUI 개발 중 최소타겟 iOS14버전으로 하는 중 alert이 필요한 상황이 있었다. 아래와 같이 .alert 코드 작성 시 아래에 있는 .alert만 호출이 된다. .alert(isPresented: $presentAlert) { Alert( title: Text("Title"), message: Text("Message") ) } .alert(isPresented: $presentAlert2) { Alert( title: Text("Title2"), message: Text("Message2") ) } 그래서 검색해보니 스택오버플로우에서 활용방안에 대해서 나와있었다. https://stackoverflow.com/questions/58069516/how-can-i-have-two-alerts..

iOS/SwiftUI 2023.01.17

@StateObject vs @ObservedObject 차이점

@StateObject 및 @ObservedObject 프로퍼티 래퍼는 SwiftUI 보기에 관촬된 개체의 변경 사항에 대한 응답으로 업데이트하도록 지시합니다. 두 래퍼는 비슷해 보이지만 SwiftUI에서 앱을 빌드할때 중요한 차이점이 있습니다. What is an @ObservedObject? @StateObject와 @ObservedObject의 차이점을 알아보기 전 @ObservedObject가 무엇인지 이해하는 것이 좋습니다. 두 프로퍼티 래퍼 모두 개체가 ObservableObject 프로토콜을 준수해야 합니다. 이 프로토콜은 객체가 변경되기 전 방출하는 게시자가 있는 객체를 나타내며 SwiftUI가 뷰를 다시 그리기를 그리도록 지시할 수 있습니다. ObservableObject를 준수하는 타입..

iOS/SwiftUI 2023.01.07

프로그래머스 - 가장 가까운 같은 글자 (Swift, Level1)

문제 👇 https://school.programmers.co.kr/learn/courses/30/lessons/142086 배열의 index와 문자열을 활용한 문제인 것 같다. 문제설명 📝 문자열 s가 주어졌을 때, s의 각 위치마다 자신보다 앞에 나왔으면서, 자신과 가장 가까운 곳에 있는 같은 글자가 어디 있는지 알고 싶습니다. 예를 들어, s="banana"라고 할 때, 각 글자들을 왼쪽부터 오른쪽으로 읽어 나가면서 다음과 같이 진행할 수 있습니다. b는 처음 나왔기 때문에 자신의 앞에 같은 글자가 없습니다. 이는 -1로 표현합니다. a는 처음 나왔기 때문에 자신의 앞에 같은 글자가 없습니다. 이는 -1로 표현합니다. n은 처음 나왔기 때문에 자신의 앞에 같은 글자가 없습니다. 이는 -1로 표현합니..

프로그래머스 - 최댓값과 최솟값 (Swift, Level2)

문제 👇 https://school.programmers.co.kr/learn/courses/30/lessons/12939 배열과 문자열의 값을 찾는 문제인 것 같다. 문제설명 📝 문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 "(최소값) (최대값)"형태의 문자열을 반환하는 함수, solution을 완성하세요. 예를들어 s가 "1 2 3 4"라면 "1 4"를 리턴하고, "-1 -2 -3 -4"라면 "-4 -1"을 리턴하면 됩니다. 제한사항 💡 제한사항 s에는 둘 이상의 정수가 공백으로 구분되어 있습니다. 입출력 예 입출력 예 s result "1 2 3 4" "1 4" "-1 -2 -3 -4" "-4 1" "-1 -1" "-1 -1" 문..

iOS) UIViewController

뷰 컨트롤러란?? UIKit 앱의 뷰 계층 구조를 관리하는 객체 -> "뷰 컨트롤러는 앱의 근간을 이루는 객체로 모든 앱은 최소한 하나 이상의 뷰컨트롤러를 가지고 있는다." 뷰 컨트롤러의 주된 역활 일반적으로 기본 데이터의 변경에 대한 응답, 뷰의 내용을 업데이트 합니다. 뷰와의 사용자 상호 작용에 응답 뷰 크기 조정 및 전체 인터페이스 레이아웃 관리 앱에서 다른 뷰 컨트롤러를 포함한 다른 개체와의 조정 -> 윈도우 객체로 부터 전달된 이벤트를 받아, 내부적으로 구현된 비즈니스 로직을 실행하고, 그 결과로 얻어진 데이터를 콘텐츠를 만들어 화면에 표현하는 등, 모바일 애플리케이션에서 뷰 컨트롤러는 우리가 하는 대부분의 작업들의 중심에 있다고 생각할 수 있다. 뷰 컨트롤러의 종류 ViewController ..

iOS/iOS 2022.12.06

Swift) NumberFomatter

Swift) NumberFomatter NumberFormatter란? 애플 공식문서에서는 숫자 값과 해당 텍스트 표현 간에 변환하는 포맷터라고 소개하고 있습니다. 조금 더 살펴보는게 좋을 것 같네요. OverView에서 이제 NumberFormatter의 인스턴스는 NSNumber 객체를 포함하는 셀의 텍스트 표현을 포맷하고 숫자 값의 텍스트 표현을 NSNumber 객체로 변환합니다. -> 여기서 NSNumber란 기본 스칼라 숫자 값에 대한 객체 래퍼라고 되어 있는데 추후에 자세히 알아봐야 겠네요. 계속해서 NSNumber는 표현에는 정수, 실수 및 복식이 포함되고, float 및 double은 지정된 소수점 위치로 형식화할 수 있습니다. NumberFormatter 객체는 셀이 허용할 수 있는 숫자..

iOS/Swift 2022.12.02

프로그래머스 - 숫자 문자열과 영단어 (Swift, Level1)

문제 👇 https://school.programmers.co.kr/learn/courses/30/lessons/81301 배열과 문자열의 값을 찾는 문제인 것 같다. 문제설명 📝 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자릿수를 영단어로 바꾸는 예시입니다. 1478 → "one4seveneight" 234567 → "23four5six7" 10203 → "1zerotwozero3" 숫자 영단어 0 zero 1 one 2 two 3 three 4 four 5 five 6 six 7 seven 8 eight 9 nine 제한사항 💡 제한사항 1 ≤ s의 길이 ≤ 50 ..