목록분류 전체보기 (591)
어흥
문제 링크: www.acmicpc.net/problem/16971 16971번: 배열 B의 값 첫째 줄에 배열 A의 크기 N, M이 주어진다. 둘째 줄부터 N개의 줄에 배열의 원소가 주어진다. 배열은 정수로만 이루어져 있다. www.acmicpc.net 1. 주의할 점 - 각각의 원소가 배열 B가 만들어지기 위해 몇번 사용되는지 미리 계산한다. 다음과 같다 N = 10, M = 6의 경우, 배열 A의 각 원소가 더해지는 횟수 //1~M열 1 2 2 2 2 1//1행 2 4 4 4 4 2 2 4 4 4 4 2 2 4 4 4 4 2 2 4 4 4 4 2 2 4 4 4 4 2 ~ 2 4 4 4 4 2 2 4 4 4 4 2 2 4 4 4 4 2 1 2 2 2 2 1//N행 즉, 맨 위와 아래행(K번)은 나머지 ..
(아직 공부가 더 필요합니다...) [Property] 1. 정의 : 값을 클래스(class), 구조체(structure), 열거형(enum)와 연결한다 Jim didSet: Jim-->Jay */ 4. 부가 내용(Method Computed Property) - Setter이 필요? -> Computed Property - Setter이 불필요-> 계산이 많이 필요? or DB access나 File IO가 필요? -> Method - Setter이 불필요-> 계산이 많이 필요? or DB access나 File IO가 불필요 -> Computed Property [Method] 1. 정의 : 메소드는 특정 타입과 연관된 함수. 2. 특징 : 클래스, 구조체 그리고 열거형에서 인스턴스 메소드로 정의할 ..
문제 링크: swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV6c6bgaIuoDFAXy SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 주의할 점 - 조건이 많다 - 초기화를 잘 해준다 - 순서대로 처리한다(새로운 손님 도착? -> 접수 창구 비었는가? -> 대기 창구로 이동 가능? -> 수리 창구 비었는가? -> 끝났는가?) 2. 구현 - 사람들에 대한 정보는 바로 Queue에 넣는다 - 창구 직원들에 대한 정보는 Info2 구조체(pidx: 손님번호, needTime: 처리하는데 소요되는 시간, remain: 처리되기까지 남..
문제 링크: www.acmicpc.net/problem/1904 1904번: 01타일 지원이에게 2진 수열을 가르쳐 주기 위해, 지원이 아버지는 그에게 타일들을 선물해주셨다. 그리고 이 각각의 타일들은 0 또는 1이 쓰여 있는 낱장의 타일들이다. 어느 날 짓궂은 동주가 지원이�� www.acmicpc.net 1. 주의할 점 - DP를 사용해서 문제를 해결한다(점화식) 2. 구현 - 1개의 타일: 1개(1) - 2개의 타일: 2개(00, 11) - N개의 타일을 사용할 때 : (N-1개의 타일 + N-2개의 타일)%MOD (여기서 MOD는 15746) 따라서 점화식은 N>=3일때, Arr[N] = (Arr[N-1] + Arr[N-2])%MOD로 이루어진다 #define MOD 15746 #include u..
1. 프로토콜이란? : 특정 서비스를 사용할때 진행해야 하는 일 예시) CustomStringConvertible를 사용하기 위해선 description을 반드시 정의해야 한다 //CustomStringConvertible 프로토콜 public protocol CustomStringConvertible{ public var description: String {get}//get: 읽기 속성, set: 쓰기 속성 } 2. 사용 코드 struct Lecture: CustomStringConvertible{ var description: String{ return "Title: \(lectureName), Teacher: \(teacher)" } var lectureName: String var teacher..
문제 링크: https://www.acmicpc.net/problem/16562 16562번: 친구비 첫 줄에 학생 수 N (1 ≤ N ≤ 10,000)과 친구관계 수 M (0 ≤ M ≤ 10,000), 가지고 있는 돈 k (1 ≤ k ≤ 10,000,000)가 주어진다. 두번째 줄에 N개의 각각의 학생이 원하는 친구비 Ai가 주어진다. ( www.acmicpc.net 1. 주의할 점 - 분리집합으로 집단을 나눈 이후, 그 집단에서 가장 작은 친구비를 더한다 2. 구현 - 입력을 받으면서 Par[](자신의 조상을 나타냄)배열을 초기화한다 - 친구 관계를 입력받을 때, 같은 집합이 형성되도록 Make_union() 함수를 사용한다. 그리고 Make_union() 함수를 사용할 때, 작은 친구비를 가진 학생..
1. 차이 Structure Class Value type Reference type Copy Share Stack에 저장 Heap에 저장 Fast Slow 1) 각각 사용해야 할 때 [Struct를 써야 할 때] 1. 두 Object를 같다, 다르다로 비교해야 하는 경우 2. Copy된 각 객체들이 독립적인 상태를 가져야 하는 경우 3. 코드에서 오브젝트의 데이터를 여러 쓰레드 걸쳐 사용할 경우(여러 쓰레드가 접근할 경우) [Class를 써야 할 때] 1. 두 Object의 인스턴스 자체가 같음을 확인해야 할 때 2. 하나의 객체가 필요하고, 여러 대상에 의해 접근되고 변경이 필요한 경우 예시 코드) class PersonClass{ var name: String var age: Int init(nam..
[Closure] 1) 정의 및 특징 - 사용자의 코드 안에서 전달되어 사용할 수 있는 로직을 가진 일급 객체로, {}로 구분된다 - 일급 객체는 전달 인자로 보낼 수 있고, 변수/상수 등으로 저장하거나 전달할 수 있으며, 반환값도 가능하다 - 참조타입이며, 함수는 이름이 있는 클로저다 1-1) 함수 클로저 Function(Global) Closure 이름이 있다 이름 없다 func 키워드 필요 func 키워드 필요 없다 인자 받을 수 있다 값 Return 가능 변수로 할당할 수 있다 일급 객체(First Class Type) 2) 사용법 {(parameters) -> return type in statements } 3-1) 예시 @IBAction func hello(_sender:Any){ let a..