본문 바로가기
반응형

iOS Dev16

[BOJ/백준] Swift - 피보나치 수 3 (2749) 피보나치수 3문제링크 : https://www.acmicpc.net/problem/2749   func 피보나치수3(_ n: Int) -> Int { if n == 0 { return 0 } if n == 1 { return 1 } var a = 0, b = 1 for _ in 2...n { let temp = (a + b) % 1_000_000 // 매번 1,000,000으로 나머지 연산 수행 a = b b = temp } return b}func 피보나치수3실행() { let n = Int(readLine()!)! print(피보나치수3(n))} 처음에 이렇게 풀었다가시간초과가 났다왜!?!?!!?!!   문제를 보면 n.. 2025. 3. 28.
[BOJ/백준] Swift - 피보나치 수 1,2(2747,2748) 먼저, 피보나치 수열이뭔지 알고 가자  피보나치 수열(Fibonacci Sequence)란?피보나치 수열은 각 항이 바로 앞 두 개의 항의 합이 되는 수열입니다.수열의 정의:피보나치 수열은 다음과 같은 점화식으로 정의됩니다.   즉,첫 번째 항: 0두 번째 항: 1세 번째 항부터는 이전 두 항의 합이 됩니다. 더보기n = 0 → 0  n = 1 → 1  n = 2 → 1  (0 + 1)  n = 3 → 2  (1 + 1)  n = 4 → 3  (1 + 2)  n = 5 → 5  (2 + 3)  n = 6 → 8  (3 + 5)  n = 7 → 13 (5 + 8)  n = 8 → 21 (8 + 13)  n = 9 → 34 (13 + 21)    피보나치 수열의 특징재귀적인 성질F(n) = F(n-1) + .. 2025. 3. 28.
[BOJ/백준] Swift - 숫자 카드 (10815), 문자열집합(14425), 회사에있는사람(7785) 이 게시물은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.  정렬을 다 풀었는데 이제 뭘 풀어야할까? 했을때집합 & 맵 을 풀기로 했다.Map은 그렇다 치는데생각보다 Set이 너무 많이 나오더라는..    숫자카드 (10815)문제링크 : https://www.acmicpc.net/problem/10815카드의 집합을 만들어 특정 카드가 집합에 있는지 빠르게 찾는 문제 let n = Int(readLine()!)! let set = Set(readLine()!.split(separator: " ").map { Int($0)! }) let m = Int(readLine()!)! let cards = readLine()!.split(separator: " ".. 2025. 3. 19.
[BOJ/백준] Swift - 좌표 압축(18870) 나는 왜 좌표가 무서운가,,오랜시절부터 축적 되어온 수포자의 본능인가    좌표 압축(18870)문제 링크 : https://www.acmicpc.net/problem/18870만약 정확한 값이 필요 없고 값의 대소 관계만 필요하다면, 모든 수를 0 이상 N 미만의 수로 바꿀 수 있습니다.    let n = Int(readLine()!)!let arr = readLine()!.split(separator: " ").map{ Int(String($0))! }var dict = [Int : Int]()var move = 0for i in arr.sorted() { if dict[i] == nil { dict[i] = move move += 1 }}print("\(arr... 2025. 3. 13.
[BOJ/백준] Swift - 나이순 정렬 (10814) 나이순 정렬 (10814)문제링크 : https://www.acmicpc.net/problem/10814값이 같은 원소의 전후관계가 바뀌지 않는 정렬 알고리즘을 안정 정렬(stable sort)이라고 합니다.  let n = Int(readLine()!)! var users: [(age: Int, id: String)] = [] for _ in 0..  이제는 이런거 나오면 쑥쑥 쓰고 sort만 정의잘 해주면 된다.sort는 age에 따라 오름차순으로 정렬하되,age가 같으면 순서유지  기본적으로 swift의 sort()는 안전정렬이기 때문에 추가작업을 하지 않아도 된다.시간복잡도는 : O(nlogn) 2025. 3. 13.
[BOJ/백준] Swift - 단어정렬 (1181) 단어정렬 (1181)문제링크 : https://www.acmicpc.net/problem/1181단어의 순서를 정의하여 정렬하는 문제  let n = Int(readLine()!)! var words: [String] = [] for _ in 0..() var uniqueWords = words.filter { seen.insert($0).inserted } uniqueWords.sort { $0.count == $1.count ? $0     좀 더 최적화된 코드let n = Int(readLine()!)!var uniqueWords = Set()// 중복을 제거하면서 입력받기for _ in 0..   그러나 ?    위가 최적화, 아래가 기존 작성 코드라 했을때  시.. 2025. 3. 13.
[BOJ/백준] Swift - 좌표 정렬하기 (11650), 좌표 정렬하기 2 (11651) 좌표 이름만 들어도 무서워하는 단계가 빨리 지나갔으면 좋겠어요..;(무서움반 두근반)  좌표 정렬하기 (11650)문제링크 : https://www.acmicpc.net/problem/11650좌표를 정렬하는 문제  let n = Int(readLine()!)! var coord: [(x: Int, y: Int)] = [] for _ in 0..  튜플을 활용했고 고차함수 sort의 Bool을 판단하는 클로저를 사용했어요마지막 for문은 forEach문으로 했을 때 264ms 였지만for문으로 수정하니 260ms가 됐어요 ? 시간복잡도 : O(nlogn)  for문과 forEach문 성능 차이의 이유:콜백 함수 호출 비용: forEach는 각 요소에 대해 콜백 함수를 호출하는데, .. 2025. 3. 12.
[BOJ/백준] Swift - 수 정렬하기 3 (10989) 수 정렬하기 1,2 처럼 내장 함수로 꿀빨려다가 시간초과 나온 문제.계수정렬로 풀어야 하는 게 핵심이었던 문제다. 하지만 아직 계수정렬 공부하지 못한 상태라?후다닥 뒤져보면서 풀어봤다.   계수 정렬(Counting Sort)란?각 숫자의 등장 횟수를 저장한 후, 그 정보를 기반으로 정렬하는 방법숫자의 범위가 제한적인 경우(예: 1 ~ 10,000)에 매우 빠르게 동작비교 기반 정렬(퀵 정렬, 병합 정렬)보다 O(n + k) 의 시간 복잡도를 가지므로 특정 상황에서는 더 효율적하지만 메모리를 많이 차지(입력 크기보다 훨씬 큰 배열을 만들어야 함)  수 정렬하기 3 (10987)문제링크 :https://www.acmicpc.net/problem/10989수의 범위가 작다면 카운팅 정렬을 사용하여 더욱 빠르.. 2025. 3. 12.
[BOJ/백준] Swift - 수 정렬하기(2750), 수 정렬하기2(2751), 대표값2(2587), 커트라인(25305) 일단 기초부터 찬찬히티스토리에 써보기로 한다.방통대에서 현재 정렬위주로 수업을 듣고 있어서!!리드라인 가능한 입출력 받는 프젝 만들어서 시도!!  하, 좀 TMI인데 전에 현대오토에버 코테 보는데 진짜,,프로그래머스에서만 코테 간간히 1단계-2단계만 해왔어서입출력 백준처럼 나와서어,, 이거 리드라인으로 어떻게 했더라?너무 옛날에 해서 기억이 안났고,,그래서 풀이만 주석으로 구구절절쓰고진짜 아무것도 못함 으앙ㅇ아앙 죄송하다고도 씀..결국 떨어짐진짜 더 이상 이제 물러날 데가 없음..   수 정렬하기 2750,  수 정렬하기 2 2751수 정렬하기(2750) 문제링크: https://www.acmicpc.net/problem/2750시간 복잡도가 O(n²)인 정렬 알고리즘으로 풀 수 있다. 예를 들면 삽입 .. 2025. 3. 10.
[SwiftUI]@ViewBuilder이용하여 SafeArea무시하지 않는 법(SafeArea유지) 먼저, iOS를 개발하면서 SafeArea를 무시하기 위해 아래와 같은 코드를 사용하곤 할 것이다. ///iOS 14+.ignoresSafeArea() //전체 무시.ignoresSafeArea(.all, edges: .top) //top만 무시///iOS 13까지.edgesIgnoringSafeArea(.all) //전체 무시.edgesIgnoringSafeArea(.top) //top만 무시 그런데, 위 코드를 사용하지 않았는 데도, SafeArea을 무시한 적이 없고, 꼭 지켜주고 싶은데, 무시 당했던 적이 몇번 있을 것이다. 그 경우들은 아래와 같다. Safe Area가 자동으로 무시될 수 있는 경우!ScrollView 내부의 컨텐츠 크기가 화면을 초과할 때.. 2025. 2. 21.
Mac 수학기호 특수문자 쓰는 법(+모음) 내가 수학자는 아니지만 자꾸 까먹고 헷깔리고 해서 그때그때 참고하기 위해 써놓는다. 1. MacOS 기본 키보드 단축키² (제곱)커스텀 필요³ (세제곱)커스텀 필요√ (제곱근)option + V∑ (시그마, 합)option + W∫ (적분 기호)option + Bπ (파이)option + P≠ (같지 않음)option + =≤ (작거나 같음)option + ,≥ (크거나 같음)option + .∞ (무한대)option + 5± (플러스마이너스)option + shift + =≈ (근사값)option + X  2. 이모지 특수문자 창 (Control + Command + 스페이스 (⌃ + ⌘ + Space)) 활용검색창에 math, superscript, integral, angle 같은 키워드를 입력하면.. 2025. 2. 19.
맥 MAC 주소 확인하기 (MAC Address) MAC 주소(미디어 액세스 컨트롤 주소, Media Access Control Address)는 네트워크 카드(유선 LAN, Wi-Fi 모듈)에 고유하게 할당된 하드웨어 주소다.각 기기(컴퓨터, 스마트폰, 라우터 등)는 고유한 MAC 주소를 가지며, 네트워크에서 장치를 식별하는 역할을 한다.형식은 XX:XX:XX:XX:XX:XX (예: A4:5E:60:1F:2B:3C) 으로 되어 있고각각 16진수(09, AF) 2자리씩 6개로 구성된다.  MAC 주소 확인하는 법   1. "설정"으로 이동한다. (맥북에서 설정은 톱니바퀴 (⚙️) 모양이다.)2. 왼쪽에 "네트워크" 탭을 누른다. 3. "세부사항..."을 클릭한다.   4.왼쪽 탭에 "하드웨어" 로 이동한다.5. MAC주소를 확인한다.     MAC주소 .. 2025. 2. 19.
Mac 맥북 ip주소 확인하는 법 Mac ip 주소 확인하는 법MAC은 어디서 ip주소를 알 수 있을까? 먼저 설정을 열어 준다.   1. 설정 → 네트워크→ "세부사항…" 을 클릭한다.      2. 스크롤을 맨 밑으로 내리면 IP주소를 확인 할 수 있다.        Mac ip 주소 터미널에서 확인하기터미널에 익숙한 사람들은 아래 코드를 쳐주면 된다.    공인 IP: 인터넷에 직접 연결된 주소 (예: 203.0.113.45)curl ifconfig.me 사설 IP: 내부 네트워크 주소  (예: 192.168.1.10)ipconfig getifaddr en0 2025. 2. 19.
iOS (iOS 16.0) regionCode -> region.identifier 국가코드 가져오기 최신. 국가코드가 필요했는데 변경사항이 발견되어 쓴다. Swift내부에서 쓰는 Locale의 국가코드는 국제적으로 사용되는 ISO 3166-1 국카 코드를 사용한다. 기존 public let countryCode = Locale.current.regionCode //"KR","US"등 변경후 public let regionCode = Locale.current.region?.identifier 2025. 2. 16.
[SwiftUI]@AppStorage 사용해서 Color 값 저장하고 유지하기 📋https://developer.apple.com/documentation/swiftui/appstorage AppStorage | Apple Developer DocumentationA property wrapper type that reflects a value from and invalidates a view on a change in value in that user default.developer.apple.com   사용자의 프로필을 만들고 배경색을 랜덤컬러로 지정되는 기능을 구현하기 위해 사용하였다. 앱에 들어올 때마다 색상이 변경되면 안되고, 한번 지정된 색은 앱을 삭제하지 않는 이상 변경되면 안된다.  이미 그 회원에게 지정된 고유의 랜덤 컬러인 것!  (요구사항 요약)1. 앱을 실행.. 2025. 2. 16.
[TCA]@BindingState를 쓰다가 자꾸 값이 초기화 되는 문제..(feat: TextField) TCA에서 State에 선언한 값을 @BindingState 로 사용하게 되면, 실시간으로 값을 받게 될 수 있다. 보통 UI에서 값을 store로 바로바로 직접 전달 받아야할때 사용한다.  보통 기본적으로는 아래처럼 사용하게 된다. //Feature struct State: Equatable { @BindingState var birth: String = "" // ✅ TextField와 바인딩할 값 } enum Action: BindableAction, Equatable { case binding(BindingAction) // ✅ 자동 상태 업데이트를 위한 바인딩 액션 case confirm} var body: some ReducerOf { BindingReducer().. 2025. 2. 14.
반응형