Swift의 inout이란?
## 📌 함수 파라미터를 변경하고 종료후에도 유지 가능 inout 이란? 함수 내부로 들어온 매개변수의 값은 원래 상수지만 inout을 사용하면 변경이 가능하다. 그리고 함수가 종료되어도 그 변경된 값을 유지할 수 있다. inout으로 지정된 매개변수가 지정되면 함수를 호출할때 매개변수 앞에 &표시를 해야한다. 예제 코드 func...
## 📌 함수 파라미터를 변경하고 종료후에도 유지 가능 inout 이란? 함수 내부로 들어온 매개변수의 값은 원래 상수지만 inout을 사용하면 변경이 가능하다. 그리고 함수가 종료되어도 그 변경된 값을 유지할 수 있다. inout으로 지정된 매개변수가 지정되면 함수를 호출할때 매개변수 앞에 &표시를 해야한다. 예제 코드 func...
싱글톤 패턴(Singleton Pattern): 언제, 왜, 어떻게 써야 할까 개요 싱글톤 패턴은 전역에서 동일한 인스턴스를 공유할 수 있도록 보장하는 디자인 패턴이다. 한 번 생성된 객체는 앱이 종료될 때까지 유지되며, 이후 모든 접근은 동일한 인스턴스를 참조한다. Swift, Objective-C 등에서 자주 사용되며, 설정, 네트워크 통신, ...
개요 사람인에서 온라인 멘토링을 진행하게 되어, 나도 신청해서 멘토링을 받게 되었다.\n 내가 취업을 준비하면서 놓친 것들이 있는지 알 수 있게 되었고 인사담당자분들의 입장을 조금이나마 더 알 수 있었던 계기인 것 같다. 회사가 먼저 연락주는 주니어의 특징 일 할 준비가 된 태도 [협업 시그널] 협업 시 오해를 줄이고, 필요한 정보를 정...
✅ 1. UICollectionView 개념: 스크롤 가능한 아이템 리스트를 보여주는 뷰. 레이아웃을 따로 지정해야 아이템이 보이고, 데이터소스와 델리게이트로 동작을 제어함. 예제: let layout = UICollectionViewFlowLayout() let collectionView = UICollectionView(frame: .zer...
클린 아키텍처는 의존성 방향을 바깥에서 안으로만 흐르게 강제. 핵심 비즈니스 로직을 외부 변화에 독립적으로 유지하려는 소프트웨어 설계 원칙. 계층 분리 가장 안쪽: Entities (비즈니스 규칙) 그 다음: Use Cases (애플리케이션 규칙) 바깥쪽: Interface Adapters (Contr...
의존성 역전 원칙 (Dependency Inversion Principle) 핵심 개념 구현체에 의존하지 않고, 프로토콜에 의존하기 상위 계층은 하위 계층의 구현이 아닌 프로토콜에 의존 추상화에 의존하여 결합도를 낮추고 유연성을 높임 의존성 역전의 두 가지 원칙 상위 모듈은 하위 모듈에 의존해서는 안 되며, 둘 다 추상화에 의존...
문제 설명 마인은 곡괭이로 광산에서 광석을 캐려고 합니다. 마인은 다이아몬드 곡괭이, 철 곡괭이, 돌 곡괭이를 각각 0개에서 5개까지 가지고 있으며, 곡괭이로 광물을 캘 때는 피로도가 소모됩니다. 각 곡괭이로 광물을 캘 때의 피로도는 아래 표와 같습니다. 예를 들어, 철 곡괭이는 다이아몬드를 캘 때 피로도 5가 소모되며, 철과 돌을 캘때는 피로...
개요 어떤 클래스의 로직을 특정 상황에 바꾸고 싶을 때, 그 로직을 별도로 분리하는 패턴. 조건문 남용 방지할 수 있음. 런타임에 객체가 사용하는 로직(함수)를 변경할 수 있음. 코드 // 프토토콜 정의 protocol AttackStrategy { func attack() } // 프로토콜을 준수하는 여러 클래스 정의 cl...
문제 설명 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오픈 채팅방을 개설한 사람을 위해, 다양한 사람들이 들어오고, 나가는 것을 지켜볼 수 있는 관리자창을 만들기로 했다. 채팅방에 누군가 들어오면 다음 메시지가 출력된다. ...
문제 설명 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다. 0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때...