1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 회의실 배정 문제 한 개의 회의실이 있는데 이를 사용하고자 하는 N개의 회의에 대하여 회의실 사용표를 만들려고 한다. 각 회의 I에 대해 시작시간과 끝나는 시간이 주어져 있고, 각 회의가 겹치지 않게 하면서 회의실을 사용할 수 있는 회의의 최대 개수를 찾아보자. 단, 회의는 한번 시작하면 중간에 중단될 수 없으며 한 회의가 끝나는 것과 동시에 다음 회의가 시작될 수 있다. 회의의 시작시간과 끝나는 시간이 같을 수도 있다. 이 경우에는 시작하자마자 끝나는 것으로 생각하면 된다. 입력 첫째 줄에 회의의 수 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N+1 줄까지 각..
CGAffineTransform | Apple Developer Documentation An affine transformation matrix for use in drawing 2D graphics. developer.apple.com CGAffineTransform는 Core Graphics 프레임워크에서 제공하는 변환 행렬을 나타내는 구조체이다. 이 구조체는 2D변환을 정의하며, 이를 사용하여 객체의 크기/회전/이동 등을 할 수 있다. CGAffineTransform 사용 1️⃣ 이동 객체를 지정된 x 및 y 만큼 이동 CGAffineTransform(translationX: CGFloat, y: CGFloat) 2️⃣ 확대 및 축소 객체를 지정된 x 및 y 축으로 지정된 배율만큼 확대 또는 축소..
싱글톤 패턴 싱글톤 패턴이란? : 하나의 클래스에 하나의 인스턴스만을 가지고, 그 인스턴스에 접근할 수 있는 전역적인 접근점을 제공하는 패턴이다. 주로 한 개의 객체만을 만들고, 그 객체를 여러 곳에 공유하여 사용하고 싶을 때 사용한다. 예를들어, DB 연결 관리에 사용될 수 있다. app은 DB와 연결되어야 하고, 이 연결은 app 전체에서 공유되어야 한다. 여러 부분에서 DB에 접근할 때, 새로운 연결을 하는 것이 아니라 하나의 연결을 유지하면서 효율적으로 DB작업을 수행할 수 있다. 의존성 주입 의존성 주입은 싱글톤 패턴의 단점 중 하나인 모듈 간의 강한 결합을 완화하는 방법 중 하나이다. 🏷 의존성 주입 전 메인모듈이 '직접' 하위 모듈에 대한 의존성을 주입한다. 🔎 싱글톤 패턴 swift 예제 ..
1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net 잃어버린 괄호 문제 세준이는 양수와 +, -, 그리고 괄호를 가지고 식을 만들었다. 그리고 나서 세준이는 괄호를 모두 지웠다. 그리고 나서 세준이는 괄호를 적절히 쳐서 이 식의 값을 최소로 만들려고 한다. 괄호를 적절히 쳐서 이 식의 값을 최소로 만드는 프로그램을 작성하시오. 입력 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지..
Alamofire란? 먼저 Alamofire이 무엇인지 알아보자. Alamofire는 Swift를 기반으로 한 네트워킹 및 HTTP 클라이언트 라이브러리이다. Apple에서 기본적으로 제공하는 URLSession도 있지만 Alamofire이 더 간편한게 네트워킹 작업을 수행할 수 있도록 설계되어 있다. Alamofire의 주요 기능은 다음과 같다. HTTP 요청 및 응답 관리 JSON 데이터 처리 파일 업로드 및 다운로드 인증 및 보안 기능 백그라운드에서의 네트워킹 작업 지원 Alamofire에서는 많은 편의기능을 제공하여 코드의 가독성과 유지 보수성을 향상시킬 수 있다. 하지만 만약 URLSession을 사용한다면 위의 기능들을 직접 구현해야 하므로, 보다 많은 작업이 개발자에게 직접적으로 요구된다. ..
📝 목차 1. 도입 2. 문제: 도시락 데우기(문제 ID: LUNCHBOX, 난이도: 하) 3. 문제: 문자열 합치기(문제 ID: STRJOIN, 난이도: 중) 1. 도입 탐욕법(그리디)은 가장 직관적인 알고리즘이라고 할 수 있다. 재귀호출과 같이 여러 개의 조각으로 쪼개고, 각 단계마다 답의 한 부분을 만들어 간다는 점에서 완전 탐색이나 동적계획법과 다를 것이 없다. 하지만 모든 선택지를 고려하고 그 중 전체 답이 가장 좋은 것을 고르는 방법과 달리, 탐욕법은 각 단계마다 지금 가장 좋은 방법만을 선택한다. 🏷 탐욕법 알고리즘 사용되는 경우 1️⃣ 탐욕법을 사용해도 항상 최적해를 구할 수 있는 문제를 만난 경우, 탐욕법은 동적계획법보다 수행 시간이 훨씬 빠르다. 📝 만약 탐욕법 알고리즘을 사용해 결과 ..

1713번: 후보 추천하기 첫째 줄에는 사진틀의 개수 N이 주어진다. (1 ≤ N ≤ 20) 둘째 줄에는 전체 학생의 총 추천 횟수가 주어지고, 셋째 줄에는 추천받은 학생을 나타내는 번호가 빈 칸을 사이에 두고 추천받은 순서대 www.acmicpc.net 후보 추천하기 문제 월드초등학교 학생회장 후보는 일정 기간 동안 전체 학생의 추천에 의하여 정해진 수만큼 선정된다. 그래서 학교 홈페이지에 추천받은 학생의 사진을 게시할 수 있는 사진틀을 후보의 수만큼 만들었다. 추천받은 학생의 사진을 사진틀에 게시하고 추천받은 횟수를 표시하는 규칙은 다음과 같다. 학생들이 추천을 시작하기 전에 모든 사진틀은 비어있다. 어떤 학생이 특정 학생을 추천하면, 추천받은 학생의 사진이 반드시 사진틀에 게시되어야 한다. 비어있는..

11403번: 경로 찾기 가중치 없는 방향 그래프 G가 주어졌을 때, 모든 정점 (i, j)에 대해서, i에서 j로 가는 길이가 양수인 경로가 있는지 없는지 구하는 프로그램을 작성하시오. www.acmicpc.net 경로 찾기 문제 가중치 없는 방향 그래프 G가 주어졌을 때, 모든 정점 (i, j)에 대해서, i에서 j로 가는 길이가 양수인 경로가 있는지 없는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 정점의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄부터 N개 줄에는 그래프의 인접 행렬이 주어진다. i번째 줄의 j번째 숫자가 1인 경우에는 i에서 j로 가는 간선이 존재한다는 뜻이고, 0인 경우는 없다는 뜻이다. i번째 줄의 i번째 숫자는 항상 0이다. 출력 총 N개의 줄에 걸쳐서 문제의..