STL - Standard Template Library 란?
STL(Standard Template Library)은 일반화 프로그래밍(Generic Programming) 기법을 활용하여, 데이터 타입에 얽매이지 않고 유연하게 적용될 수 있는 자료 구조와 알고리즘을 제공하는 라이브러리입니다. 여기서 일반화 프로그래밍(Generic Programming)이란, 데이터 타입에서 독립적인 코드를 작성할 수 있게 ...
STL(Standard Template Library)은 일반화 프로그래밍(Generic Programming) 기법을 활용하여, 데이터 타입에 얽매이지 않고 유연하게 적용될 수 있는 자료 구조와 알고리즘을 제공하는 라이브러리입니다. 여기서 일반화 프로그래밍(Generic Programming)이란, 데이터 타입에서 독립적인 코드를 작성할 수 있게 ...
빅 오(big-O) 표기법이란, 알고리즘의 효율성을 표현하기 위한 표기법입니다. 빅 오 표기법 같은 표기법을 점근적 표기법이라고 하는데, 알고리즘의 성능을 입력 값의 크기가 커질 때, 어떻게 변하는지. 즉, 성능의 성장률을 수학적으로 표현하는 방법입니다. (데이터의 수에 따라 성능에 영향을 미치는 값의 크기를 수학적으로 표현) 즉, 알고리즘 내의 ...
1629번: 곱셈 (acmicpc.net) 문제도 분할 정복(Divide and Conquer)으로 풀어볼 수 있습니다. 분할 정복은 큰 문제를 작은 부분 문제로 나누어 해결하고, 그 결과를 합쳐 원래 문제의 해결책을 찾는 방법입니다. 이 문제는 A를 B번 곱할 때, 현존하는 자료형보다 커질 수 있기 때문에 C를 나눈 나머지를 사용합니다. 즉, ...
1780번: 종이의 개수 문제는 분할 정복(Divide and Conquer) 문제입니다. 분할 정복은 큰 문제를 작은 부분 문제로 나누어 해결하고, 그 결과를 합쳐 원래 문제의 해결책을 찾는 방법입니다. 만약 이전에 1992번: 쿼드트리 (acmicpc.net) 문제나 2630번: 색종이 만들기 (acmicpc.net) 문제를 풀어보셨다면 쉽게 ...
xvalue(eXpiring Value)는 C++ 11 이후에 추가된 개념으로 기존의 값 범주에서 변화가 생겼습니다. 때문에 값 범주가 기존의 개념보다 이해하고 정리하기 더 어려운 개념이 되어버린 것 같습니다. 이 글에서 저는 이 새로운 값 범주에 대해 제가 이해한 과정 정도를 글로 표현하고 정리 해둘까 합니다. C++ 11 이후의 값 범주 C...
1992번: 쿼드트리 (acmicpc.net) 문제는 분할 정복(Divide and Conquer) 문제입니다. 분할 정복은 큰 문제를 작은 부분 문제로 나누어 해결하고, 그 결과를 합쳐 원래 문제의 해결책을 찾는 방법입니다. 이 문제는 이전 색종이 만들기 문제를 풀었다면, 쉽게 풀 수 있는 문제입니다. 2630번: 색종이 만들기 (acmicpc...
2630번: 색종이 만들기 (acmicpc.net) 문제는 분할 정복(Divide and Conquer) 문제입니다. 분할 정복은 큰 문제를 작은 부분 문제로 나누어 해결하고, 그 결과를 합쳐 원래 문제의 해결책을 찾는 방법입니다. 문제의 예시 그림에서 볼 수 있듯이 가로 세로 절반씩 분할 후 모든 색이 칠해져 있는지 확인하고 그 색이 하얀색인지 ...
주유소 문제는 탐욕 알고리즘으로 풀 수 있는 문제입니다. 탐욕 알고리즘(Greedy Algorithm)이란, 매 순간 최적이라고 생각되는 방법을 선택하는 방식으로 문제를 해결하는 알고리즘입니다. 즉, 다른 경우의 수를 생각하지 않고 현 문제에서 가장 좋아 보이는 것을 선택하다 보면 문제가 풀리는 알고리즘 입니다. 13305번: 주유소 (acmic...
저도 우측 값 참조(rvalue reference)를 어느 정도 이해했다고 생각했는데, 글로 표현하기 위해 다시 공부하고 정리하면서도 아직 어렵고 난해한 것 같습니다. 따라서 저는 제가 이해한 정의만 나열하기보다 우선 제가 이해한 과정이나 정도만을 글로 표현하고 정리 해둘까 합니다. 먼저, 우측 값 참조(rvalue reference)를 이해하기 ...
잃어버린 괄호 문제는 정렬을 사용하지 않아도 풀 수 있는 탐욕 알고리즘 문제입니다. 탐욕 알고리즘(Greedy Algorithm)이란, 매 순간 최적이라고 생각되는 방법을 선택하는 방식으로 문제를 해결하는 알고리즘입니다. 즉, 다른 경우의 수를 생각하지 않고 현 문제에서 가장 좋아 보이는 것을 선택하다 보면 문제가 풀리는 알고리즘 입니다. 154...