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개의 줄에 걸쳐서 문제의..

선수과목 (Prerequisite) 문제 올해 Z대학 컴퓨터공학부에 새로 입학한 민욱이는 학부에 개설된 모든 전공과목을 듣고 졸업하려는 원대한 목표를 세웠다. 어떤 과목들은 선수과목이 있어 해당되는 모든 과목을 먼저 이수해야만 해당 과목을 이수할 수 있게 되어 있다. 공학인증을 포기할 수 없는 불쌍한 민욱이는 선수과목 조건을 반드시 지켜야만 한다. 민욱이는 선수과목 조건을 지킬 경우 각각의 전공과목을 언제 이수할 수 있는지 궁금해졌다. 계산을 편리하게 하기 위해 아래와 같이 조건을 간소화하여 계산하기로 하였다. 한 학기에 들을 수 있는 과목 수에는 제한이 없다. 모든 과목은 매 학기 항상 개설된다. 모든 과목에 대해 각 과목을 이수하려면 최소 몇 학기가 걸리는지 계산하는 프로그램을 작성하여라. 입력 첫 ..

Collection View에서 cell의 section을 검색하여 검색한 내용을 필터링해서 보여주는 기능을 만들어보자. Search Collection View 이 프로젝트에서는 storyboard를 사용하지 않고 만들었다. storyboard를 사용하지 않고 코드로 작성하는 방법은 아래의 링크에 정리해뒀다. 2023.11.05 - [스위프트] - [swift] storyboard없이 Navigation controller 또한 autolayout을 쉽게 구현하도록 하는 Snapkit 라이브러리를 사용하였다. CocoaPod을 이용해 Snapkit 라이브러리를 설치해야 한다. [swift] CocoaPod 설치와 사용법 iOS 및 macOS 애플리케이션에서 사용할 수 있는 라이브러리 및 코드 모듈을 공..

storyboard 없이 오로지 코드만 작성하여 Navigation controller를 사용해 보자. 처음 프로젝트 생성 시 만들어지는 Main.storyboard를 과감히 지워버려도 된다 ㅎ Navigation controller 다음과 같이 첫 화면에서 두 번째 화면으로 넘어가고 첫 화면으로 돌아올 수 있는 Navigation controller를 만들어보자. ViewController SecondViewController 1️⃣ ViewController import UIKit class ViewController: UIViewController { let label = UILabel() let button = UIButton() override func viewDidLoad() { super.v..