Leetcode) No.262 [Trips and Users] 문제 (2) Trips and Users - LeetCode Trips and Users - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge..
BOJ No.5670 [휴대폰 자판] 문제 5670번: 휴대폰 자판 (acmicpc.net) 5670번: 휴대폰 자판 휴대폰에서 길이가 P인 영단어를 입력하려면 버튼을 P번 눌러야 한다. 그러나 시스템프로그래밍 연구실에 근무하는 승혁..
트라이 (Trie) 저장된 문자열 탐색에 용이한 자료구조 정의 트라이(Trie) 는 문자열들의 집합이 있을 때 문자열의 존재 여부를 쉽게 찾아낼 수 있도록 해 주는 자료구조 이다. 직관적인 예시를 통해 설명을 해..
BOJ No.7420 [맹독 방벽] 문제 7420번: 맹독 방벽 (acmicpc.net) 7420번: 맹독 방벽 첫 번째 줄에 건물의 수 N과 거리 L이 주어진다. (3 ≤ N ≤ 1000, 1 ≤ L ≤ 1000, N과 L은 정수) 다음 N개의 줄에 거쳐 건..
볼록 껍질 (컨벡스 헐 : Convex hull) 점들을 통해 볼록 다각형을 형성 다각형에 포함되지 않는 점들은 다각형 내부에 존재 참고 링크 2022.03.26 - [Algorithm (C++ based)/BOJ] - 백준 No.1708 [볼록 껍질] 백준..
BOJ No.1708 [볼록 껍질] 문제 1708번: 볼록 껍질 (acmicpc.net) 1708번: 볼록 껍질 첫째 줄에 점의 개수 N(3 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 점의 x좌표와 y좌표가 빈 칸을 사이..
프로시저 (PROCEDURE) 어떠한 동작을 일괄 처리하기 위한 쿼리문의 집합 설명 DLIMITER $$ CREATE PROCEDURE ( ) BEGIN END $$ 프로시저(Procedure)란 MySQL 에서 제공이 되는 프로그래밍 기능이라고 생각을..
HackerRank SQL) Binary Tree Nodes 문제 Binary Tree Nodes | HackerRank Binary Tree Nodes | HackerRank Write a query to find the node type of BST ordered by the value of the node. www.hackerrank.c..
IF, IFNULL, NULLIF, CASE ~ WHEN ~ END [제어 흐름 함수] 설명 * IF ( <수식>, <참>, <거짓> ) <수식> 이 참이면 <참> 이 반환이 되고, <수식>이 거짓이면 <거짓>이 반환이 된다. SELECT IF (100 > 200,..
리스트(list) 조작 함수 list datatype 조작 함수 설명 Code List = [12, 54, 34, 66, 10, 9, 5] # append(...) List.append(100) # 뒤에 100을 추가 print(" After append(100) : %s"% List) # pop() List..
CAST( ), CONVERT( ) 데이터의 명시적인 형 변환 설명 데이터의 형 변환은 INT형 data를 CHAR형 data로 바꾸는 것 과 같이 data type을 변경하는 것 이다. 데이터의 형 변환은 명시적인 형 변환과 암시적인 형..
WITH절 (비재귀적 CTE) Non Recursive CTE(Common Table Expression) 설명 아래와 같이 테이블들이 생성되고 데이터들이 삽입되었다고 하자. CREATE TABLE department ( dept_num INT NOT NULL PRIMARY KEY, n..
ON DUPLICATE KEY UPDTAE 중복된 Key 입력 시 이렇게 처리 해 주세요 설명 CREATE TABLE users ( id INT NOT NULL PRIMARY KEY, name VARCHAR(20), addr VARCHAR(30) ); INSERT INTO users VALUES (1111, 'D..
샘플 데이터 테이블 생성 CREATE TABLE <...> SELECT <...> 설명 CREATE TABLE emp ( id INT NOT NULL PRIMARY KEY, name VARCHAR(30) NOT NULL, age INT NULL ); INSERT INTO emp VALUES (11111, 'David',..
AUTO_INCREMENT 자동으로 증가하는 COLUMN 설명 CREATE TABLE auto_test( num INT AUTO_INCREMENT NOT NULL PRIMARY KEY, name VARCHAR(10) ); num COLUMN 은 AUTO_INCREMENT로 선언이 되었다. AUTO_INCREMENT C..
MySQL) WITH ROLLUP GROUP BY 절과 함께 사용되는 총합 또는 층간 합계 함수 [CREATE TABLE] CREATE TABLE price ( Category1 VARCHAR(10), Category2 VARCHAR(10), Cnt INT ); 위와 같은 TABLE 을 만들었다. [I..
SQL) 문자열 다루기 2 LOCATE(...), LEFT(...), RIGHT(...), LOWER(...), UPPER(...) LOCATE(sub_str, str) : 문자열에서 어떠한 문자열이 처음 나오는 곳의 index 값을 출력한다. LOCATE('aba', 'bcbababac') =..
SQL) 문자열 다루기 2 LENGTH(...), CONCAT(...), SUBSTRING(...), LENGTH(A) : 주어진 문자열의 길이를 출력하는 함수이다. LENGTH('Hello') = 'Hello' 문자열의 길이 = 5 SELECT LENGTH('Hello') AS Length FR..
Leetcode) No.626 [Exchange Seats] 문제 Exchange Seats - LeetCode Exchange Seats - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get..
Leetcode No.180 [Consecutive Numbers] 문제 Consecutive Numbers - LeetCode Consecutive Numbers - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your kno..
순위 함수 RANK(), DENSE_RANK(), ROW_NUMBER() RANK() : 순위에 대해서 중복되는 값들에 대해선 동일한 순위로 표시를 한다. 그리고 다음에 나오는 수의 순위는 이전에 중복되었던 값들의 수만큼 올라간다. CREAT..
SQL study [21.09.03] DELETE(/MODIFY) Action 1) CASCADE : Master 삭제시 Child 같이 삭제 2) SET NULL : Master 삭제시 Child 해당 필드는 NULL 3) SET DEFAULT : Master 삭제시 Child 해당 필드는 Defau..
※ ERROR : You can't specify target table ' ' for update in FROM clause ※ #문제의 코드 DELETE FROM Person WHERE Id NOT IN ( SELECT MIN(Id) FROM Person GROUP BY Email ); #해결된 코드 DELETE FROM P..
SQL study [21.09.02] AS 의 생략 SELECT A.Name NAME FROM S0902_2 A; # AS 생략 SELECT A.Name AS NAME FROM S0902_2 AS A; # AS 생략 X AS 를 생략하여도 위와 같이 ALIAS를 지을 수 있다는 것을 알았다. WHERE..
Leetcode No.175 [Combine Two Tables] 문제 Combine Two Tables - LeetCode Combine Two Tables - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowle..
삼성 SDS 21년 하계 알고리즘 특강 Professional 합격 후기 처음 이 교육을 듣기 시작한 목적은 Professional 인증서를 받기 위한 마음은 없었고 알고리즘 공부를 더 깊게 하고픈 의도였다. 하지만 이렇게 인증서..
Leetcode No.1179 [Reformat Department Table] 문제 Reformat Department Table - LeetCode Reformat Department Table - LeetCode Level up your coding skills and quickly land a job. This is the best place..
JOIN (INNER / LEFT / RIGHT / OUTER) 설명 둘 이상의 테이블을 연결하여 데이터를 확인할 수 있는 방법이다. 연결하고자 하는 테이블 간 공통적인 컬럼이 있어야 하며, 그 컬럼은 그 테이블의 PK 혹인 FK 로..
#include stringstream 설명 sstream 은 string stream 의 약자이다. string stream 는 주어진 어떠한 문자열에서 원하는 자료형으로 정보를 얻을 수 있다. 또한 여러가지 자료형을 가진 데이터들이 들어올 때..
BOJ No.3190 [뱀] 문제 3190번: 뱀 (acmicpc.net) 3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는..
SQL study [21.08.25] FOREIGN KEY REFERENCES ( ) ON DELETE ~ CREATE TABLE Parent ( ID INT PRIMARY KEY, SCORE INT NOT NULL, NAME VARCHAR(30) ); CREATE TABLE Child ( PID_CASCADE INT, #DELETE/UPDATE 시..
SQL study [21.08.24] 제약조건 [Constraint] : 테이블에 잘못된 입력을 막기 위해서 일정한 규칙을 지정하는 것 - NOT NULL #NULL값 입력 금지 - UNIQUE #중복값 입력 금지 (NULL 값 중복입력은 가능) -..
SQL study [21.08.23] ALTER 1. ADD #테이블에 필드를 추가 - ALTER TABLE ADD 2. DROP #테이블에서 필드를 삭제 - ALTER TABLE DROP 3. MODIFY COLUMN #테이블에서 필드의 타입을 변경 - ALTER TABLE..
연산자 우선순위 (Operator precedence)
BOJ No.11400 [단절선] 문제 11400번: 단절선 (acmicpc.net) 11400번: 단절선 첫째 줄에 두 정수 V(1≤V≤100,000), E(1≤E≤1,000,000)가 주어진다. 이는 그래프가 V개의 정점과 E개의 간선으로 이루어져 있다는..
BOJ No.11266 [단절점] 문제 11266번: 단절점 (acmicpc.net) 11266번: 단절점 첫째 줄에 두 정수 V(1≤V≤10,000), E(1≤E≤100,000)가 주어진다. 이는 그래프가 V개의 정점과 E개의 간선으로 이루어져 있다는 의..
SQL study [21.08.19] SQL 문장들의 종류 오늘의 한 마디 : 오늘과 내일은, 2일뒤 토요일 (8/21) 에 있을 SDS SW 검정시험을 준비해야해서 SQLD 공부는 많이 하지 못 하였다. 토요일 시험이 끝난 뒤 2주간은 이제..
SQL study [21.08.18] MySQL workbench Study / Programmers Study : HOUR(DATETIME) # DATETIME 의 시간만 따 오는 것. : 이름이 있는 동물들을 찾으려면 IS NOT NULL SHOW DATABASES; USE world; SHOW TA..
SQL study [21.08.17] 분산 데이터베이스 - 여러 곳으로 분산되어있는 데이터베이스를 하나의 가상 시스템으로 사용할 수 있도록 한 데이터베이스 - 논리적으로 동일한 시스템에 속하지만, 컴퓨터 네트워크를..
BOJ No.1261 [알고스팟] 문제 1261번: 알고스팟 (acmicpc.net) 1261번: 알고스팟 첫째 줄에 미로의 크기를 나타내는 가로 크기 M, 세로 크기 N (1 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 미로의 상태를..
SQL study [21.08.16] 슈퍼타입 모델링 - 장점 : 전체 사원에 대한 검색 용이. 무결성에 유리. - 단점 : 서브타입별 속성이 많다면 위와 같이 발생하는 NULL 이 지나치게 발생할 수 있다. 서브타입 모델링..
BOJ No.1626 [두 번째로 작은 스패닝 트리] 문제 1626번: 두 번째로 작은 스패닝 트리 (acmicpc.net) 1626번: 두 번째로 작은 스패닝 트리 첫째 줄에 그래프의 정점의 수 V(1 ≤ V ≤ 50,000)와 간선의 수 E(1 ≤..
SQL study [21.08.15] 반 정규화 * 간단한 정의 : 성능 향상을 위해 정규화를 포기하는 것 이다. * 성격 : 데이터의 무결성이 보장되는 것은 아니므로 제한적으로 사용을 해야한다. 테이블 반 정규화 테이블..
SQL study [21.08.14] 데이터 모델 성능 저하의 대표적인 원인 1. 데이터 모델 구조에 의한 성능의 저하 2. 대용량이 됨으로 인한 불가피한 성능의 저하 3. 인덱스의 특성을 고려하지 않은 상태로 인덱스를..
Baekjoon Online Judge No.13537 [수열과 쿼리 1] 문제 13537번: 수열과 쿼리 1 (acmicpc.net) 13537번: 수열과 쿼리 1 길이가 N인 수열 A1, A2, ..., AN이 주어진다. 이때, 다음 쿼리를 수행하는 프로그램을 작..
SQL study [21.08.13] 두 개의 엔터티 사이에 정의된 관계(Relationship) 체크 사항 1. 두 엔터티 사이 관심 있는 연관규칙 존재 여부 2. 두 엔터티 사이 정보 조합 발생 여부 3. 업무기술서, 장표에 관계연..
Baekjoon Online Judge No.14427 [수열과 쿼리 15] 문제 14427번: 수열과 쿼리 15 (acmicpc.net) 14427번: 수열과 쿼리 15 길이가 N인 수열 A1, A2, ..., AN이 주어진다. 이때, 다음 쿼리를 수행하는 프로그램을..
SQL study [21.08.12] 수정 이상 - 중복되는 데이터 중 일부만 갱신되어 정보에 모순이 발생하는 것 이다. - 100학번의 홍길동 학생이 개명을 했지만 100학번 운영체제 key에 해당되는 data는 이름이 변경이..
엔터티 (Entity) 정의 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합적인 것 이다. 업무 활동상 지속적인 관심을 가지고 있어야 할 대상들 간에 동질성을 지닌 인스턴스들이나 그들이 행하는 행..
Baekjoon Online Judge No.8980 [택배] 문제 8980번: 택배 (acmicpc.net) 8980번: 택배 입력의 첫 줄은 마을 수 N과 트럭의 용량 C가 빈칸을 사이에 두고 주어진다. N은 2이상 2,000이하 정수이고, C는 1이상 10,..
SQL study [21.08.11] DB : Data Base - 대규모의 정보를 사용하고 관리할 수 있도록 체계적으로 관리한 것 - 필요에 의해 데이터를 일정한 형식으로 저장을 해 놓은 것을 DB라고 한다. DBMS : Data Base Mana..
Baekjoon Online Judge No.2887 [행성 터널] 문제 2887번: 행성 터널 (acmicpc.net) 2887번: 행성 터널 첫째 줄에 행성의 개수 N이 주어진다. (1 ≤ N ≤ 100,000) 다음 N개 줄에는 각 행성의 x, y, z좌표가 주어..
최소 스패닝 트리 / 최소 신장 트리 (MST : Minimum Spanning Tree) by Kruskal Algorithm & Prim Algorithm 정의 최소 스패닝 트리(최소 신장 트리, MST : Minimum Spanning Tree)란, 모든 노드들이 가중치가..
No.17070 [파이프 옮기기 1] 문제 17070번: 파이프 옮기기 1 (acmicpc.net) 17070번: 파이프 옮기기 1 유현이가 새 집으로 이사했다. 새 집의 크기는 N×N의 격자판으로 나타낼 수 있고, 1×1크기의 정사각형 칸..
MySQL 정수 타입 (Integer types)
Baekjoon Online Judge No.3830 [교수님은 기다리지 않는다] 문제 3830번: 교수님은 기다리지 않는다 (acmicpc.net) 3830번: 교수님은 기다리지 않는다 교수님의 질문 (? a b)이 입력으로 들어올 때 마다, 지금까..
유니온 파인드 (Union Find, Disjoint set) 정의 유니온 파인드(Union Find) 는 서로소 집합(Disjoint-set) 이라고도 불린다. 이는 집합 혹은 그룹 관리를 효율적으로 할 수 있는 알고리즘 이다. 그룹은 트리..
Baekjoon Online Judge No.1005 [ACM craft] 문제 1005번: ACM Craft (acmicpc.net) 1005번: ACM Craft 첫째 줄에는 테스트케이스의 개수 T가 주어진다. 각 테스트 케이스는 다음과 같이 주어진다. 첫째 줄에 건..
위상 정렬 (Topological Sort) 위상정렬 위상정렬은 무향 비순환 그래프 (DAG : Directed Acylic Graph) 에서 정해진 순서에 맞게 나열을 하는 것 이다. 일상에서의 예시로 대학교 과목 이수도 에서 선수과목..
유클리드 호제법 / 확장 유클리드 호제법 < Euclidean algorithm > 유클리드 호제법 유클리드 호제법 이란 두 자연수 사이의 최대공약수(GCD) 를 구하는 알고리즘 이다. gcd(a, b) == a 와 b 의 최대공약수 라고..
세그먼트 트리 (Segment tree) 정의 세그먼트 트리 (Segment tree) 란, 1차원 배열의 값들을 포화 이진 트리를 활용하여 Bottom-up 을 통해 효율적으로 저장 및 탐색하는 자료구조 이다. 이 트리의 리프 노드..
Baekjoon Online Judge No.7453 [합이 0인 네 정수] 문제 7453번: 합이 0인 네 정수 (acmicpc.net) 7453번: 합이 0인 네 정수 첫째 줄에 배열의 크기 n (1 ≤ n ≤ 4000)이 주어진다. 다음 n개 줄에는 A, B, C, D..
Baekjoon Online Judge No.9466 [텀 프로젝트] 문제 9466번: 텀 프로젝트 (acmicpc.net) 9466번: 텀 프로젝트 이번 가을학기에 '문제 해결' 강의를 신청한 학생들은 텀 프로젝트를 수행해야 한다. 프로젝트 팀..
삼성 SDS 21년 하계 알고리즘 특강 후기 ( 2021.07.19 (월) ~ 2021.07.30 (금) ) 2021년 6월 11일 금요일까지 삼성SDS 에서 2021년 하계 알고리즘 특강 지원을 받았다. 7월 중순까지는 계절학기를 들었어야 해서..
Overloading 과 Overriding 의 차이점 오버로딩과 오버라이딩의 차이점 Overloading 오버로딩(Overloading) 이란, 같은 이름을 갖는 함수나 연산자를 정의하는 것을 의미한다. 먼저, 함수의 오버로딩(Functional O..
Baekjoon Online Judge No.12015 [가장 긴 증가하는 부분 수열 2] 문제 12015번: 가장 긴 증가하는 부분 수열 2 (acmicpc.net) 12015번: 가장 긴 증가하는 부분 수열 2 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1..
Baekjoon Online Judge No.11053 [가장 긴 증가하는 부분 수열] 문제 11053번: 가장 긴 증가하는 부분 수열 (acmicpc.net) 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분..
Class, Object, Instance 의 차이 Class 객체 지향 프로그래밍(OOP : Object Oriented Programming) 에서 특정 객체를 생성하기 위해서 변수와 메소드를 정의하는 일종의 틀이다. 'class'는 객체(Object)를 정의..
JAVA API "String" class String class char 배열에 기능을 추가 한 클래스 이다. 문자를 연달아 놓은 것인 문자열이 저장이 된다. 하지만, char 배열과 다르게 수정이 불가능한 Immutable class 이다. 따라서..
힙 (Heap), 삽입 및 삭제 정의 최대힙/최소힙 ( Link : 2021.07.21 - [C++ Algorithm/ETC] - 힙 [Heap], 최대힙/최소힙 ) 에서 임의의 값을 삽입, 삭제할 때 O(logN) 의 시간복잡도로 해결을 할 수 있다. 이러..
힙 (Heap), 최대힙/최소힙 정의 힙(Heap) 이란 완전이진트리(Perfect Binary Tree) 를 응용한 자료구조이다. 완전이진트리는 아래와 같은 Binary Tree를 의미한다. 완전이진트리는, 위처럼 마지막 레벨을 제외..
투 포인터 알고리즘 (Two pointer Algorithm) 개요 위와 같은 Array 에 대해서 array[0] + array[1] + ... + array[k] 의 값이 20이 넘을 때 k의 최소값을 구하라고 한다면, 위 주황색 포인터를 계속해서 1씩..
Baekjoon Online Judge No.1328 [고층 빌딩] 문제 1328번: 고층 빌딩 (acmicpc.net) 1328번: 고층 빌딩 상근이가 살고있는 동네에는 빌딩 N개가 한 줄로 세워져 있다. 모든 빌딩의 높이는 1보다 크거나 같고, N..
Baekjoon Online Judge No.1937 [욕심쟁이 판다] 문제 1937번: 욕심쟁이 판다 n*n의 크기의 대나무 숲이 있다. 욕심쟁이 판다는 어떤 지역에서 대나무를 먹기 시작한다. 그리고 그 곳의 대나무를 다 먹어 치우면..
오목 #2 file 사용 방법 * Move : ↑ ↓ ← → key * Set : Spacebar Update 내용 1. 오목판이 다 찬 경우 무승부가 뜨도록 처리 2. 게임이 끝난 후 Regame 여부를 묻고, Player가 Regame을 원하면 다시..
오목 #1 file 사용 방법 * Move : ↑ ↓ ← → key * Set : Spacebar Update 내용 1. RED, GREEN 색으로 서로 겨루는 사람을 나누었다. 2. 첫 턴은 RED color 부터 시작한다. 3. 우측 상단에는 현재 턴에..
아스키 코드란? 미국에서 표준화가 추진된 7비트 부호이다. 총 256개의 문자가 정의되어있다. 0 ~ 127 부호에 대해선 숫자, 영문자 및 특수기호가 정의가 되어있으며 128 ~ 255 부호에 대해선 나머지 128개의 확장..
OS : 컴퓨터 하드웨어를 관리하는 프로그램 OS의 정의 OS는 컴퓨터 하드웨어를 관리하는 프로그램 이다. OS는 또한 응용프로그램을 위한 기반을 제공하며 컴퓨터 사용자와 컴퓨터 하드웨어 사이에서 중재자 역할..
git init : 현재 디렉토리를 Git이 관리하는 프로젝트 디렉토리(=working directory)로 설정하고 그 안에 레포지토리(.git 디렉토리) 생성 git config user.name 'JOHOONDAY' : 현재 사용자의 아이디를 'JOHOON..
Priority Queue Container Priority Queue 란? 우선순위 queue 를 구현한 template class 이다. 기존의 queue container 에 오름차순, 내림차순을 사용하여 우선순위를 부여 한 것이다. header file 에 있다. ..
SCPC 6회 예선 [사다리 게임] 문제 Practice | codeground 위 Link 에서 "125번 SCPC 6회 예선 [사다리 게임]" 에 해당이 된다. 설명 A 상태 : 아직 가로 이음선을 받기 전 상태 B 상태 : 가로 이음선을 하..
Baekjoon Online Judge No.17387 [선분 교차 2] 문제 17387번: 선분 교차 2 첫째 줄에 L1의 양 끝 점 x1, y1, x2, y2가, 둘째 줄에 L2의 양 끝 점 x3, y3, x4, y4가 주어진다. www.acmicpc.net 설명 이전 1..
Baekjoon Online Judge No.17386 [선분 교차 1] 문제 17386번: 선분 교차 1 첫째 줄에 L1의 양 끝 점 x1, y1, x2, y2가, 둘째 줄에 L2의 양 끝 점 x3, y3, x4, y4가 주어진다. 세 점이 일직선 위에 있는 경우..
CCW (Counter Clock Wise) CCW 란? 평면에 존재하는 세 점에 대해서 위치 관계를 알 수 있는 알고리즘이다. 좌표 내 임의의 점이 어떠한 선분을 기준으로 반시계방향에 있다면 양수, 시계방향에 있다면 음수, 선..
Bitmask (2), "자주 사용되는 형태" 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 32 33 34 int nth_bit_on(int n) { return 1 << n; } // n'th bit ..
BOJ No.7579 [앱] Problem 7579번: 앱 입력은 3줄로 이루어져 있다. 첫 줄에는 정수 N과 M이 공백문자로 구분되어 주어지며, 둘째 줄과 셋째 줄에는 각각 N개의 정수가 공백문자로 구분되어 주어진다. 둘째 줄의..
플로이드-워셜 알고리즘 (Floyd-Warshall Algorithm) What is Floyd-Warshall Algorithm? Dijkstra (다익스트라) 알고리즘이 시작하고자 하는 한 vertex에서 나머지 vertex들로 가는 최소 비용을 구하는 알..
BOJ No.11404 [플로이드] Floyd-Warshall Algorithm Problem 11404번: 플로이드 첫째 줄에 도시의 개수 n이 주어지고 둘째 줄에는 버스의 개수 m이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은 버스의..
BOJ No.11779 [최소비용 구하기2] Problem 11779번: 최소비용 구하기 2 첫째 줄에 도시의 개수 n(1≤n≤1,000)이 주어지고 둘째 줄에는 버스의 개수 m(1≤m≤100,000)이 주어진다. 그리고 셋째 줄부터 m+2줄까지..
Codeforces Round #703 (div.2) A. Shifting Stacks (solved) Problem Problem - A - Codeforces codeforces.com Code 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..
Baekjoon Online Judge No.13913 [숨바꼭질4] Problem 13913번: 숨바꼭질 4 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다...
Baekjoon Online Judge No.13549 [숨바꼭질3] Problem 13549번: 숨바꼭질 3 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다...
Codeforces Round #701 (div.2) A. Add and Devide (solved) Problem Problem - A - Codeforces codeforces.com Code 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..
Bitmask (1), "Bit operator" OR operator ( A | B ) 두 비트중 하나라도 1 이면 1 이다. ex) 0 0 1 1 ⑵ | 0 1 0 1 ⑵ = 0 1 1 1 ⑵ AND operator ( A & B ) 두 비트 다 1 이어야 1 이다. 0 0 1 1 ⑵..
Baekjoon Online Judge No.1504 [특정한 최단 경로] Problem 1504번: 특정한 최단 경로 첫째 줄에 정점의 개수 N과 간선의 개수 E가 주어진다. (2 ≤ N ≤ 800, 0 ≤ E ≤ 200,000) 둘째 줄부터 E개의 줄에 걸쳐..
Dijkstra What is Dijkstra? 그래프의 한 노드에서 다른 노드로 갈 때 드는 가중치들의 합의 최소값을 구하는 알고리즘이다. 이 '가중치'를 문제가 요구하는 바에 따라 거리, 비용 등의 형태로 문제에 다양하게..
Baekjoon Online Judge No.11066 [파일 합치기] Problem 11066번: 파일 합치기 소설가인 김대전은 소설을 여러 장(chapter)으로 나누어 쓰는데, 각 장은 각각 다른 파일에 저장하곤 한다. 소설의 모든 장을 쓰고..
Baekjoon Online Judge No.12865 [평범한 배낭] Problem 12865번: 평범한 배낭 첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에..
Codeforces Round #699 (Div.2) A. Space Navigation Problem Problem - A - Codeforces codeforces.com Code 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 32..
Baekjoon Online Judge No.10942 [팰린드롬?] Problem 10942번: 팰린드롬? 총 M개의 줄에 걸쳐 홍준이의 질문에 대한 명우의 답을 입력으로 주어진 순서에 따라서 출력한다. 팰린드롬인 경우에는 1, 아닌 경우에..
Palindrome Definition 앞에서부터 읽으나 뒤에서부터 읽으나 동일한 단어 혹은 구를 의미한다. Example 팰린드롬 "madam" "오디오" "안경안보여" 1234321 44 팰린드롬이 아닌것 123432
Baekjoon Online Judge No.2798 [블랙잭] Code 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 #include #include using namespace std; int N, M; vector cards; int main() { ..
lower_bound & upper_bound std::lower_bound - cppreference.com std::upper_bound - cppreference.com Definition lower_bound : 찾고자 하는 값 이상의 수가 처음으로 나오는 곳의 index를 구할때 사용 upper..
Baekjoon Online Judge No.11049 [행렬 곱셈 순서] Problem 11049번: 행렬 곱셈 순서 첫째 줄에 입력으로 주어진 행렬을 곱하는데 필요한 곱셈 연산의 최솟값을 출력한다. 정답은 231-1 보다 작거나 같은 자연수..
Monge array (Monge matrix) Definition 아래와 같은 조건을 갖는 m-by-n matrix 이다. 의 조건에 대해서 를 만족하는 matrix 를 Monge array 혹은 Monge matrix 라고 한다. Example 위 사진을 보면 Monge..
Baekjoon Online Judge No.1912 [연속합] Problem 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보..
Programmers [가장 큰 정사각형 찾기] Problem 코딩테스트 연습 - 가장 큰 정사각형 찾기 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 가장 큰 정사각형 찾기 [[0,1,1,1],[1,1,1,1],[1,1,1,1],[0,0,1..
// Devide and Conquer algorithm 을 통한 power 함수의 구현. What is power function? Code 1 2 3 4 5 6 7 8 9 10 typedef unsigned long long ull; ull power(int num, int jisu) { if ..
// Pascal's triangle What is Pascal's triangle? 좌측의 수식과 같은 이항계수의 값을 구할 때 사용할 수 있다. 하지만 아래 설명을 보면 알 수 있듯 점화식을 활용한 Dynamic Programming의 알고리즘을 사용..
// Lucas's theorem What is Lucas's theorem? 를 구하는 과정에서 n의 값이 상당히 클 경우 사용하면 유용한 정리이다. n의 값이 적당하다면, n!, ( n-k )!, k! 의 값을 각각 구하여 연산하면 되지만, n의..
// Baekjoon Online Judge No.2630 [색종이 만들기] Code 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 5..
// Baekjoon Online Judge No.2447 [별 찍기 - 10] Code 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 32 33 34 35 36 37 38 #include #include #include using name..
// Baekjoon Online Judge No.10757 [큰 수 A+B] Code 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 #..
// Queue Container What is Queue Container? 선입선출(FIFO : First - In, First - Out)의 원리에 따라 객체의 삽입 및 삭제를 수행하는 자료의 저장 공간이다. ※ 선입선출 이란? 말 그대로 저장 공간에 먼..
// Baekjoon Online Judge No.10884 [쉬운 계단 수] Code 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 32 33 34 #include #include using namespace std; int N;..
// Baekjoon Online Judge No.1932 [정수 삼각형] Code 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 #include #inclu..
// Greedy algorithm What is Greedy algorithm? 답을 하나씩 골라가는데, 미리 정해놓은 기준에 따라 매번 가장 좋아 보이는 답을 선택하는 것이다. 하지만 을 이용하여 설계를 한다면 항상 최적의 해는 보장할..
// Baekjoon Online Judge No.1149 [RGB거리] Code 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 #include using namespace std; int N; int price[1001][4]; int m..
// Dynamic programming What is Dynamic programming? 이란, 문제의 입력사례를 분할하여 문제를 푸는 것이다. 흔히들 'DP'라고 많이 한다. 이 점은 분할정복과 비슷하지만, 분할정복은 Top-down(하향식) 접근..
// Sorting What is Sorting? 임의로 나열되어있는 자료들을 일정한 기준에 따라 배열시키는 것이다. Example 4 23 7 -3 9 15 -9 0 19 6 Q. 위에 나열된 수들을 오름차순으로 정렬하시오. A. 정답은 아래와 같..
// Fibonacci sequence What is Fibonacci sequence? 란, 임의의 항의 값이 이전의 두 항의 값을 더한 값을 가지는 수열을 의미한다. 이를 점화식으로 표현하면 아래와 같다. An = 1 , ( n <= 2 ) An = A(n-1) +..
// Baekjoon Online Judge No.1904 [01 타일] How to solve 복잡할 것 같아 보이지만 N에 1, 2, 3 ... 8 까지만 대입 해보아도 결국 피보나치수열을 이룬다는 것을 알 수 있다. 하지만 이 문제에서 고려해야하는..
// Selection sort Time complexity - 평균 : O(n^2) - 최악의 경우 : O(n^2) How to solve coming soon.. Code 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..