전체 글 210

61. 스파르타 코딩 클럽 - 최종 팀 프로젝트 #3

🎯 Trouble Shooting[ 1. 보여주는 이미지를 3개에서 1개로 변경 ] 이유 : 가게 정보에 관한 이미지를 보여주기 위해서는 Google Places API 통신을 해야 한다.그러나 우리가 필요한 사진의 수는 한 가게당 최소 3개 이상Google Places는 한 번의 API 통신에 한 개의 이미지만 제공한다.따라서 가게 정보와 이미지 3개를 받아오기 위해서는 총 4번의 API 통신이 필요하다.한정된 지원금 안에서 유료 API를 사용하다 보니 부득이하게 이미지를 1개만 사용하는 방향으로 수정하게 되었다. [ 해당 issue 관련하여 API 문서 ] 장소 사진 (신규) | Places SDK for iOS | Google for Developers이 페이지는 Cloud Transla..

60. 스파르타 코딩 클럽 - 모의 면접 스터디 #2

📚 모의 면접 스터디[ 질문 ]mutating 키워드에 대해서 설명해 주세요.A. mutating 키워드는 Swift에서 구조체(struct)나 열거형(enum) 내부에서 자기 자신을 수정할 수 있도록 허용할 때 사용하는 키워드입니다.Mutating이 필요한 이유Swift에서 struct와 enum은 값 타입(value type)입니다. 값 타입은 기본적으로 내부에서 자신의 속성을 직접 수정할 수 없습니다.따라서 구조체 안에서 속성을 수정하는 메서드를 만들고 싶을 때는 mutating 키워드를 사용해 자기 자신을 수정할 수 있도록 허용해야 합니다. call by reference와 call by value에 대해서 설명해 주세요.1. Call by Value (값에 의한 호출)값 자체를 복사해서 함..

59. 스파르타 코딩 클럽 - 최종 팀 프로젝트 #2

👨🏻‍💻 팀 프로젝트 정리- EatsOkay[ 역할 분담 ]나는 이번 최종 프로젝트에서 상세화면에서 가게 목록과 웹뷰를 담당하게 되었다.작업은 아마 다음 주 월요일부터 들어갈 거 같은데 새로운 기술을 사용하는 만큼 사전 공부가 필요할 것 같다..! [ 사용 기술 ]1. CollectionView2. SFSafariViewController3. RxSwift4. API Network 통신 - Kakao REST API5. ReactorKit6. RxDataSource (미정) 🏁 상세 화면 가게 목록, 웹뷰 - 와이어 프레임 😼 GitHub GitHub - uddt-ds/EatsOkayContribute to uddt-ds/EatsOkay development by creating a..

58. 스파르타 코딩 클럽 - 모의 면접 스터디 #1

📚 모의 면접 스터디[ 질문 ]protocol에 대해서 설명해 주세요.A. Swift의 protocol(프로토콜)은 특정 속성이나 메서드를 요구사항으로 정의해 두고, 해당 프로토콜을 채택한 타입(클래스, 구조체, 열거형)이 이 요구사항을 구현하도록 강제하는 일종의 설계도입니다. 특징 설명다형성프로토콜을 타입처럼 사용 가능 (예: 함수 매개변수, 배열 등)다중 채택하나의 타입이 여러 프로토콜을 채택 가능클래스 한정class로 한정할 수 있음: protocol SomeProtocol: AnyObjectOptional 요구사항@objc와 함께 사용 시 메서드를 선택적으로 구현 가능 (단, 클래스 전용) 프로토콜을 사용하는 이유유연한 설계 – 다양한 타입이 같은 기능을 구현하게 할 수 있음.코드 재사용성 증..

34. 스파르타 코딩 클럽 - 6월 5일 코딩테스트 연습 (코드카타)

❓ 오늘의 문제1. 자연수 뒤집어 배열로 만들기자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를 들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다.제한 조건n은 10,000,000,000이하인 자연수입니다.나의 정답 코드func solution(_ n: Int64) -> [Int] { return String(n).reversed().compactMap { Int(String($0)) }} ✓ TIL[ 코드 설명 ]1 - String(n)// Int64 타입의 숫자 n을 문자열로 변환한다.// 12345 -> "12345"2 - .reversed()// 문자열을 뒤집는다. reversed는 콜렉션 타입을 반환// "12345".reversed() -> ["5..

57. 스파르타 코딩 클럽 - 최종 팀 프로젝트 #1

👨🏻‍💻 최종 팀 프로젝트 정리프로젝트 이름 : 이츠오케이목적 : 상황에 맞춘 음식(식당) 큐레이팅 앱프로젝트 기간 : 2025.05.29 ~ 2025.07.10 MVP 기능[ 1 ] 앱 온보딩 화면앱사용 안내 화면 표시앱사용 안내 화면 이후 다음 버튼 클릭 시 위치권한 요청허용 시 현재 위치 사용거부 시 지역선택을 통한 위치 지정[ 2 ] 메인 화면카테고리 탭상황별 식당 노출필터 거리순[ 3 ] 상세화면지도 노출식당 정보 노출현 위치, 선택한 지역 기반 추천(거리순 노출)다른 지역 검색 기술 스택(와이어프레임 초안으로 정리 필요)개발 환경Xcode 16.2, Swift 5.0, iOS 16.6 타깃, iPhone 13 mini 기준 레이아웃사용 기술UIKitUserDefaults사용 라이브러리U..

33. 스파르타 코딩 클럽 - 6월 2일 코딩테스트 연습 (코드카타)

❓ 오늘의 문제1. 약수의 합정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해 주세요.제한 사항n은 0 이상 3000 이하인 정수입니다.나의 정답 코드// 방법 1 : 일반 방법func solution(_ n:Int) -> Int { if n == 0 { return 0 } var divNumList = [Int]() for i in 1...n { if n % i == 0 { divNumList.append(i) } } return divNumList.reduce(0, +)}// 방법 2 : 축약 방법func solution(_ n:Int) -> Int ..

32. 스파르타 코딩 클럽 - 5월 30일 코딩테스트 연습 (코드카타)

❓ 오늘의 문제1. 가위 바위 보가위는 2 바위는 0 보는 5로 표현합니다. 가위 바위 보를 내는 순서대로 나타낸 문자열 rsp가 매개변수로 주어질 때, rsp에 저장된 가위 바위 보를 모두 이기는 경우를 순서대로 나타낸 문자열을 return 하도록 solution 함수를 완성해 보세요.나의 정답 코드import Foundationfunc solution(_ rsp:String) -> String { var result = "" for i in rsp { if let transString = i.wholeNumberValue { if transString == 2 { result.append("0") } el..

31. 스파르타 코딩 클럽 - 5월 29일 코딩테스트 연습 (코드카타)

❓ 오늘의 문제1. 암호 해독 군 전략가 머쓱이는 전쟁 중 적군이 다음과 같은 암호 체계를 사용한다는 것을 알아냈습니다.암호화된 문자열 cipher를 주고받습니다.그 문자열에서 code의 배수 번째 글자만 진짜 암호입니다.문자열 cipher와 정수 code가 매개변수로 주어질 때 해독된 암호 문자열을 return 하도록 solution 함수를 완성해 주세요.나의 정답 코드import Foundationfunc solution(_ cipher:String, _ code:Int) -> String { var result = "" for (index, char) in cipher.enumerated() { if (index + 1) % code == 0 { r..

30. 스파르타 코딩 클럽 - 5월 28일 코딩테스트 연습 (코드카타)

❓ 오늘의 문제1. 자릿수 더하기정수 n이 매개변수로 주어질 때 n의 각 자리 숫자의 합을 return 하도록 solution 함수를 완성해 주세요나의 정답 코드import Foundationfunc solution(_ n:Int) -> Int { let strNum = String(n) var result = 0 for i in strNum { if let transChatoInt = i.wholeNumberValue { result += transChatoInt } } return result} ✓ TIL[ 처음 코드 ]func solution(_ n:Int) -> Int { var strNum = String(n) v..