본문 바로가기

반응형

개발

(93)
[백준] 그리디 - 1931번 회의실 배정 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 입력 & 출력 각 회의 I에 대해 시작시간과 끝나는 시간이 주어져 있고, 각 회의가 겹치지 않게 하면서 회의실을 사용할 수 있는 회의의 최대 개수를 찾아보자. 풀이 회의 시간은 쌓여간다. 회의 시간이 종료되는 시간 순으로 회의 시간들을 정렬한다. 만약 종료되는 시간이 같을 경우, 회의가 먼저 시작하는 순으로 정렬한다. 시작하는 순으로 정렬하는 이유는, 회의의 시작 시간이 현재 시간보다 적을 경우 스킵해야하기 때문이다. Swift 전체 코드 let n = Int(readLine()!)! var meetings : [(Int, Int)] = [] var (max, count) = ..
[백준] 그리디 - 11047번 동전 0 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 입력 & 출력 동전을 적절히 사용해서 그 가치의 합을 K로 만들려고 한다. 이때 필요한 동전 개수의 최솟값을 구하는 프로그램을 작성하시오. 풀이 K원을 동전 값으로 나누었을 때 몫이 0 이상인 경우를 구한다. 이 중 가장 적은 몫을 구해 k원에서 값을 빼준다. 이 과정을 K가 0이 될 때까지 반복한다. Swift 전체 코드 let input = readLine()!.split(separator: " ..
[백준] 브루트포스 - 14888번 연산자 끼워넣기 14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, www.acmicpc.net 입력 수와 수 사이에 끼워넣을 수 있는 N-1개의 연산자가 주어진다. 연산자는 덧셈(+), 뺄셈(-), 곱셈(×), 나눗셈(÷)으로만 이루어져 있다. 연산자를 어떻게 끼워넣어도 항상 -10억보다 크거나 같고, 10억보다 작거나 같은 결과가 나오는 입력만 주어진다. 출력 N개의 수와 N-1개의 연산자가 주어졌을 때, 만들 수 있는 식의 결과가 최대인 것과 최소인 것을 구하는 프로그램을 작성하시오. 풀이 하나의 ..
Bastard Injection란? ㅁㅁ기업 과제 피드백에서 처음 접한 그 이름 Bastard Injection 예..? 나쁜.. 주입이요? Bastard Injection은 의존성 주입 패턴(Dependency Injection Pattern = DI pattern)에 해당된다. 정규식에 대해서는 들어봤으나 Swift의 의존성 주입 패턴은 처음 접해보았다. 의존성 주입 패턴은 무엇일까? Dependency Injection Pattern 의존성 주입을 간단하게 요약하면, 인스턴스 변수에 객체를 준다는 것이다 A와 B, 두 개의 분리된 개체가 있다고 가정하자. 개체 A가 개체 B를 사용하기 원한다면, 여기서 첫번째 의존성이 생긴다. 만약 개체 B를 개체 A로 하드코딩 한다면 A는 B 없이 사용될 수 없다. 이 상황을 가진 개체가 100개라..
[Swift] TextField 앞 뒤 공백 없애기 TextField에 공백을 입력하고 TextField.text.isEmpty 값을 봤더니 false가 뜬다.. 공백을 지운 textField 값을 얻고 싶다면 아래 함수를 사용하자 textField.text.trimmingCharacters(in: .whitespaces) // 공백 제거한 텍스트필드 값 여기서 더 수정한다면 guard let text = textField.text else { return } if !text.trimmingCharacters(in: .whitespaces).isEmpty { // 공백 아닌 문자열이 있을 경우 realText = text }
[Swift] 테이블 뷰 -> 테이블 뷰 drag and drop 앱을 디자인해보다 처음 해보게 된 TableView1 -> TableView2 드래그 앤 드롭 테이블뷰1 에서 테이블뷰2로 옮겨보는 것이 가능한가..? 결론부터 말하자면 가능하다! 애플 문서 왈 드래그 앤 드롭 작업은 기종에 따라 가능한 역할이 나뉘는데 iPhone에서는 하나의 앱에서 수행되는 것이 가능하고 iPad에서는 위 기능에 더해 한 앱에서 다른 앱으로 이동할 수 있다고 한다 드래그 앤 드랍을 테이블 뷰에서 만들어보자 테이블 뷰에 기본적인 요구조건을 넣어준다 class TestViewContoller : UITableViewDelegate, UITableViewDataSource { tableView.delegate = self tableView.dataSource = self tableView...
[LeetCode] 841. keys and Rooms Keys and Rooms - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 입력 & 출력 각 방에는 방에 들어갈 수 있는 키가 들어있다 모든 방에 출입할 수 있다면 true를 출력하라 풀이 처음부터 모든 방을 탐색하는 것이 아니다 첫번째 방을 시작으로 들어갈 수 있는 방이 주어진다 방을 방문했을 경우 해당 방에 다시 들어갈 필요는 없으니 이를 유의하며 탐색한다 Swift 전체 코드 var visit = Array(repeating: false, count: r..
[프로그래머스] 2019 Kakao Winter Internship - 튜플 코딩테스트 연습 - 튜플 "{{2},{2,1},{2,1,3},{2,1,3,4}}" [2, 1, 3, 4] "{{1,2,3},{2,1},{1,2,4,3},{2}}" [2, 1, 3, 4] "{{4,2,3},{3},{2,3,4,1},{2,3}}" [3, 2, 4, 1] programmers.co.kr 입력 & 출력 문제는 링크에서 확인바랍니다 풀이 1. 괄호를 제거하며 집합을 구한다 2. 집합 안의 ,를 기준으로 수를 구한다 3. 구한 수를 배열에 넣는다 3.1 이미 있는 수일 경우 넣지 않는다 Swift 전체 코드 코드 가독성 개선 전 var value = s var array : [Int] = [] value.removeFirst(2) value.removeLast(2) let pieces = value..

반응형