문제 집에서 시간을 보내던 오영식은 박성원의 부름을 받고 급히 달려왔다. 박성원이 캠프 때 쓸 N개의 랜선을 만들어야 하는데 너무 바빠서 영식이에게 도움을 청했다. 이미 오영식은 자체적으로 K개의 랜선을 가지고 있다. 그러나 K개의 랜선은 길이가 제각각이다. 박성원은 랜선을 모두 N개의 같은 길이의 랜선으로 만들고 싶었기 때문에 K개의 랜선을 잘라서 만들어야 한다. 예를 들어 300cm 짜리 랜선에서 140cm 짜리 랜선을 두 개 잘라내면 20cm 은 버려야 한다. (이미 자른 랜선은 붙일 수 없다.) 편의를 위해 랜선을 자르거나 만들 때 손실되는 길이는 없다고 가정하며, 기존의 K개의 랜선으로 N개의 랜선을 만들 수 없는 경우는 없다고 가정하자. 그리고 자를 때는 항상 센티미터 단위로 정수길이만큼 자른..
이번 글에서는 Swift 공식 문서의 25번째 단원인 Memory Safety을 읽고 정리한 글을 쓰려고 한다. Apple Swift Document 25단원 - Memory Safety Memory Safety Swift는 코드가 안전하게 동작할 수 있도록 노력한다. 예를 들어 Swift는 변수가 사용되기 전에 초기화되고 메모리가 할당 해제된 후엔 접근되지 않으며 Array의 인덱스에서 벗어나면 오류를 발생시킨다. Swift는 메모리의 위치를 수정하는 코드가 해당 메모리에 대한 독점 접근 권한을 갖도록 요구하여 동일한 메모리 영역의 접근들의 충돌을 방지한다. Swift는 메모리를 자동으로 관리해주기 때문에 메모리 접근에 대해 크게 생각할 필요는 없지만, 충돌이 발생할 수 있는 위치를 이해해야 코드를 잘..
안녕하세요 Pingu 입니다!🐧 이번 글에서는 Swift 공식 문서의 24번째 단원인 Automatic Reference Counting을 읽고 정리한 글을 쓰려고 합니다. Apple Swift Document 24단원 - Automatic Reference Counting Automatic Reference Counting Swift는 ARC (Automatic Reference Counting)를 사용하여 앱의 메모리 사용량을 추적하고 관리합니다. ARC는 어떠한 클래스 인스턴스가 더 이상 필요하지 않을 때 클래스 인스턴스에 할당된 메모리를 자동으로 해제합니다. ARC는 메모리를 관리하기 위해 코드 부분 간의 관계에 대한 추가적인 정보를 요구할 수도 있습니다. 이번 글에서는 이러한 상황을 알아보고 A..
문제 링크 1946번: 신입 사원 첫째 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 20)가 주어진다. 각 테스트 케이스의 첫째 줄에 지원자의 숫자 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개 줄에는 각각의 지원자의 서류심사 성�� www.acmicpc.net 문제 언제나 최고만을 지향하는 굴지의 대기업 진영 주식회사가 신규 사원 채용을 실시한다. 인재 선발 시험은 1차 서류심사와 2차 면접시험으로 이루어진다. 최고만을 지향한다는 기업의 이념에 따라 그들은 최고의 인재들만을 사원으로 선발하고 싶어 한다. 그래서 진영 주식회사는, 다른 모든 지원자와 비교했을 때 서류심사 성적과 면접시험 성적 중 적어도 하나가 다른 지원자보다 떨어지지 않는 자만 선발한다는 원칙을 세웠다. 즉, 어떤 지..
문제 링크 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net 문제 세준이는 양수와 +, -, 그리고 괄호를 가지고 길이가 최대 50인 식을 만들었다. 그리고 나서 세준이는 괄호를 모두 지웠다. 그리고 나서 세준이는 괄호를 적절히 쳐서 이 식의 값을 최소로 만들려고 한다. 괄호를 적절히 쳐서 이 식의 값을 최소로 만드는 프로그램을 작성하시오. 입력 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 ..
문제 링크 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net 문제 인하은행에는 ATM이 1대밖에 없다. 지금 이 ATM앞에 N명의 사람들이 줄을 서있다. 사람은 1번부터 N번까지 번호가 매겨져 있으며, i번 사람이 돈을 인출하는데 걸리는 시간은 Pi분이다. 사람들이 줄을 서는 순서에 따라서, 돈을 인출하는데 필요한 시간의 합이 달라지게 된다. 예를 들어, 총 5명이 있고, P1 = 3, P2 = 1, P3 = 4, P4 = 3, P5 = 2 인 경우를 생각해보자. [1, 2, 3, 4, 5] 순서로 줄을 선다면, 1번 사람은 3분만에 돈을 뽑..
이번 글에서는 Swift 공식 문서의 23번째 단원인 Opaque Type을 읽고 정리한 글을 쓰려고 한다. Apple Swift Document 23단원 - Opaque Types Opaque Types Opaque는 불투명체라는 뜻을 가진 단어이다. Opaque 반환 타입이 있는 함수 또는 메서드는 반환 값의 타입 정보를 숨긴다. 함수의 반환 타입으로 구체적인 타입을 제공하지 않고 지원되는 프로토콜 측면에서 설명된다. 반환 값의 타입이 비공개로 유지될 수 있기 때문에 모듈과 모듈을 호출하는 코드 사이의 경계에서 타입 정보를 숨기는 것이 유용하다. 타입이 프로토콜 타입을 반환하는 것과 달리 Opaque 타입은 타입 ID를 유지한다. 하지만 컴파일러는 타입 정보에 접근할 수 있지만 모듈의 클라이언트는 그..
안녕하세요 Ick입니다! 이번 글에서는 iOS에서 동시성 프로그래밍에 사용되는 Dispatch Queue에 대해 알아보려고 합니다. 실제로 사용하는 방법은 여기를 참고해주세요! 참고한 문서는 언제나 그렇듯 공식문서입니다. Apple Developer Document - Dispatch Queue Dispatch Queues Grand Central Dispatch(GCD) 디스패치 큐는 작업 수행을 위한 강력한 도구이다. 디스패치 큐를 사용하면 호출자에 대해 비동기적 또는 동기적으로 코드 블록을 실행할 수 있다. 디스패치 큐를 사용하면 별도의 스레드에서 사용한 모든 작업을 수행할 수 있다. 디스패치 큐는 사용하기 쉬우며 스레드 코드보다 작업을 실행하는데 훨씬 효율적이라는 장점이 있다. 이번 글에서는 디스..
- Total
- Today
- Yesterday
- mac
- 앱개발
- 자료구조
- Combine
- 문법
- Apple
- 알고리즘
- 코테
- Publisher
- 스위프트
- document
- design
- 동시성
- DP
- dfs
- pattern
- IOS
- 테이블뷰
- System
- 아이폰
- BFS
- Swift
- Xcode
- operator
- operating
- 코딩테스트
- 백준
- OS
- OSTEP
- 프로그래밍
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |