본문 바로가기

분류 전체보기

(426)
[iOS] [Swift] The Swift Language Guide - 1. 기본 연산자 (Basic Operators) 기본 연산자 (Basic Operators) Swift 에서는 프로그래밍 언어에서 통상적으로 이용하는 +, -, /, % 와 같은 산술연산자와 더불어 &&, || 과 같은 논리 연산자, 그리고 a..
[iOS] [Swift] Enumerations Enumerations 열거형은 서로 연관있는 값들을 그룹지어 정의할 수 있도록 해줍니다. 이를 통해 우리의 코드 내에서 Type-Safe 한 방법으로 해당 값들을 사용할 수 있도록 해줍니다. Swift의 Enum은 String, Character 등 다양한 값들을 넣을수 있도록 더욱 유연한 기능을 제공합니다. Enumeration Syntax 열거형은 enum 키워드를 통해 정의합니다. enum SomeEnumeration { // enumration definition goes here } 이번엔 동서남북 방향에 대한 열거형은 정의해보겠습니다. enum CompassPoint { case east case west case south case north } 열거형 내 정의된 값(east, west, ..
[iOS] RIBs - Tutorial 2 RIBs - Tutorial2 안녕하세요 오늘은 이전에 진행했던 RIBs - Tutorial1에 이어 2편을 진행해보고자 합니다! 그럼 바로 시작하도록 할께요! 이전 튜토리얼에서 우리는 로그인 폼을 갖는 LoggedOut RIB을 가지는 앱을 빌드해봤었는데요, 이번 튜토리얼에서는 거기서 더 나아가 로그인 이후 게임 필드를 보여주는 것 까지 진행해보도록 할께요. 이번 튜토리얼의 주요 목표는 아래와 같습니다. child RIB과 parent RIB의 커뮤니케이션. parent Interactor의 결정에 따른 child RIB Attach/Detach View를 가지지 않는 View-less 구조의 RIB 생성 Project Structure 이전 튜토리얼에서 우리는 Root RIB과 LoggedOut RI..
[iOS] RIBs - Tutorial 1 RIBs - Tutorial1 이전에 RIBs란 무엇인지 RIB은 어떻게 구성되는지 간단히 살펴보았습니다. 이제는 Uber에서 제공하는 Tutorial을 해보며 보다 자세히 살펴보도록 할게요. 이번 튜토리얼의 목표는 다양한 RIB에 대한 이해를 목표로 합니다. 또한 그들이 어떻게 상호작용 하며 통신을 하는지 살펴볼꺼에요! 프로젝트를 열고 아무것도 하지 않았으나 AppDelegate의 didFinishLaunchingWithOptions에서 에러가 발생합니다..ㅜㅜ 코드를 살펴보자니 앱의 main window 객체를 생성하고 RootBuilder 객체를 생성하여 launchRouter라는 변수에 초기화합니다. 그리고 launchRouter.laucnh(from:) 실행 부분에서 LaunchRouting 에..
[iOS] RIBs? RIBs 오늘은 RIBs에 대하여 공부를 해보려고 합니다. 그동안 Swift 관련 커뮤니티 등에서 익히 들었는데 공부는 처음 하게 되었습니다. RIBs 란 무엇인지 간단히 알아보고 RIBs framework를 만든 Uber에서 제공하는 Tutorial을 진행해보며 감을 익혀보려고 합니다. 그러면 본격적으로 RIBs 가 무엇인지 알아보도록 하죠! RIBs는 Cross-Platform Mobile Architecture framework라고 합니다. (공식 레포지토리를 살펴보면 android와 iOS 디렉토리가 별개로 제공되고 있습니다.) RIBs는 RIB이란 단위의 복수형을 의미하며 RIB은 Router, Interactor, Builder의 약자라고 하며 이 세 가지 컴포넌트가 해당 Architectur..
[Algorithm] [Swift] Programmers - 신규 아이디 추천 신규 아이디 추천 문제 설명 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 가입하는 유저들이 카카오 아이디 규칙에 맞지 않는 아이디를 입력했을 때, 입력된 아이디와 유사하면서 규칙에 맞는 아이디를 추천해주는 프로그램을 개발하는 것입니다. 다음은 카카오 아이디의 규칙입니다. 아이디의 길이는 3자 이상 15자 이하여야 합니다. 아이디는 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.) 문자만 사용할 수 있습니다. 단, 마침표(.)는 처음과 끝에 사용할 수 없으며 또한 연속으로 사용할 수 없습니다. "네오"는 다음과 같이 7단계의 순차적인 처리 과정을 통해 신규 ..
[Algorithm] [Swift] Programmers - 두 개 뽑아서 더하기 두 개 뽑아서 더하기 문제 설명 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한 사항 numbers의 길이는 2 이상 100 이하입니다. numbers의 모든 수는 0 이상 100 이하입니다. 입출력 예 numbers: [2, 1, 3, 4, 1], result: [2, 3, 4, 5, 6, 7] numbers: [5, 0, 2, 7], result: [2, 5, 7, 9, 12] 제출 코드 1차 func solution(_ numbers: [Int]) -> [Int] { var answers: [Int] = [] for i in 0..
[Algorithm] [Python&Swift] Programmers - 크레인 인형뽑기 게임 크레인 인형뽑기 게임 문제 설명 게임개발자인 죠르디는 크레인 인형뽑기 기계를 모바일 게임으로 만들려고 합니다. 죠르디는 게임의 재미를 높이기 위해 화면 구성과 규칙을 다음과 같이 게임 로직에 반영하려고 합니다. 게임 화면은 1 x 1 크기의 칸들로 이루어진 N x N 크기의 정사각 격자이며 위쪽에는 크레인이 있고 오른쪽에는 바구니가 있습니다. 각 격자 칸에는 다양한 인형이 들어 있으며 인형이 없는 칸은 빈칸입니다. 모든 인형은 1 x 1 크기의 격자 한 칸을 차지하며 격자의 가장 아래 칸부터 차곡차곡 쌓여 있습니다. 게임 사용자는 크레인을 좌우로 움직여서 멈춘 위치에서 가장 위에 있는 인형을 집어 올릴 수 있습니다. 집어 올린 인형은 바구니에 쌓이게 되는 데, 이때 바구니의 가장 아래 칸부터 인형이 순서..