전체 글 (35) 썸네일형 리스트형 [백준]15652 N과 M(4) 문항번호: 15652 N과 M(4) 1. 문제 분석 1 ~ N의 자연수 중 M개를 고른 수열 같은 수 여러번 고르기 가능. 고른 수열은 비 내림차순이어야 함. A1 ≤ A2 ≤ ... ≤ AK-1 ≤ AK 2. 풀이 계획 1부터 N까지 가면서 출력을 하게 된다. Back-tracking : 불필요한 탐색을 하지 않고, 이전 단계로 돌아와 다른 후보해를 탐색해 나가는 방법 이미 탐색한 값보다 작은 값의 경우, 다음 input으로 들어올 수 없으므로, 반복문 안에서 더 낮은 숫자의 반복문이 돌지 않도록 설정해주어야 하겠다. -> for 문의 시작점을 현재의 current Value부터 시작하도록 설정해서 위 조건을 만족 시킴. 사실 전형적인 DFS 문항이라고 생각했지만, 문제의 분류표를 살펴보고 난 후, 백.. [백준]1463_1로 만들기 문항번호: 1로 만들기 1. 문제 분석 정수 X가 사용할 수 있는 연산 X%3 == 0 -> X = X/3 X%2 == 0 -> X = X/2 X = X-1 2. 풀이 계획 입력 제한: 1 [백준]1966_프린터큐 목차 문항 분석 Code 결과 및 분석 문항 분석 입력 제한 큐 자료구조를 활용해야 하는 문제 Swift에서 Array를 활용해 큐를 간단하게 구현하게 될 경우 removeFirst() method : O(N) append() method: O(1) 순서에 맞는 자료 값에 대한 위치 계산을 계속 진행해야 하고, 반복문 안에서 점검을 진행해줘야 한다. Code import Foundation let testcase = Int(readLine()!)! var list = [(Int, Int)]() for _ in 0.. [백준]11047_동전0 문항 분석 입력 제한 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) 가치가 더 큰 동전으로 가치가 더 작은 동전보다 더 적은 수를 활용해 합을 만들 수 있다. 가치가 큰 동전을 매번 하나씩 반복문을 통해 뺴는 방법을 사용하면 그만큼 시간적 소요가 크므로 나누기 연산과 나머지 연산을 활용해 접근하면 될 것 같다. Code import Foundation let input = readLine()!.split(separator: " ").map{ Int(String($0)) } var coins = [Int]() let n = input[0]! var k = input.. [백준]18830_좌표압축 1. 문제 분석 Xi의 값이 Xj보다 큰 좌표의 개수를 찾아야 한다.(좌표 압축) Xi를 좌표 압축한 결과 = Xi' 입력: X1, X2, ..., XN 출력: X1', X2', ..., XN' 2. 풀이 계획 입력 제한 1 ≤ N ≤ 1,000,000 -10^9 ≤ Xi ≤ 10^9 N^2으로 검증하는 순간 시간 초과는 분명. 3. 계획 검증 전체 반복문 n 개별 반복문 p 각 명령어 실행 시간 1 O(np) 4. 소스 코드 import Foundation var set = Set() var dic = [Int: Int]() _ = Int(readLine()!)! var input = readLine()!.split(separator: " ").map { Int(String($0))! } // O(N).. [백준]5430_AC 1. 문제 분석 언어에는 두 가지 함수 R(뒤집기)과 D(버리기)가 있음. R은 뒤집는 함수, D는 첫 번째 숫자를 버리는 함수 Error: 배열이 비어있는데 D를 사용한 경우 예제 입력: 1) Testcase 수 2) p : 수행할 함수 (String) 3) n : 배열에 들어있는 수 개수 4) [xi,...] : 수가 들어가 있는 배열 제한 조건 : Sum(P) + n tail } } import Foundation final class FileIO { private let buffer:[UInt8] private var index: Int = 0 init(fileHandle: FileHandle = FileHandle.standardInput) { buffer = Array(try! fileHand.. [데이터베이스] 무결성 제약 조건 관계 데이터 모델에서 정의하고 있는 기본 제약 사항 : 키와 관련한 무결성 제약조건(Integrity constraint) 무결성은 데이터에 결함이 없는 상태, 즉 데이터를 정확하고 유효하게 유지하는 것 데이터베이스가 삽입, 삭제, 수정 연산으로 상태가 변하더라도 무결성 제약조건은 반드시 지켜져야 한다. 보안 vs 무결성 보안 : 권한이 없는 사용자로부터 데이터를 보호하는 것. 무결성 : 권한이 있는 사용자의 잘못된 요구에 의해 데이터가 부정확해지지 않도록 하는 것. 관계 데이터 모델이 기본으로 포함하고 있는 무결성 제약 조건 개체 무결성 제약조건 : 기본키를 구성하는 모든 속성은 Null 값을 가질 수 없다. 관계 데이터 모델에서 기본키는 튜플들을 구별해주고, 쉽게 접근하게 해준다. 기본키의 구성요소가.. 깃(Git)&깃허브(Github) 배우기 -5(깃과 브랜치) 깃& 깃헙 배우기 시리즈 내용이 잘 이해되지 않는다면 이전 포스팅을 차례로 확인하실 것을 추천드립니다. 2021/02/14 - [Computer Science/Git,Github] - 깃(Git)&깃허브(Github) 배우기 -1 2021/02/15 - [Computer Science/Git,Github] - 깃(Git)&깃허브(Github) 배우기 -2(깃 저장소 만들기) 2021/02/16 - [Computer Science/Git,Github] - 깃(Git)&깃허브(Github) 배우기 -3(커밋 확인 및 버전 관리) 2021/02/18 - [Computer Science/Git,Github] - 깃(Git)&깃허브(Github) 배우기 -4(커밋 되돌리기, reset, revert) 포스팅 개요.. 이전 1 2 3 4 5 다음 목록 더보기