안녕하세요? 코딩충입니다. 블로그 활동을 하다가 생각해보니 알고리즘이 뭔지 설명한 적이 없는 것 같아서 이렇게 중간에 포스팅을 올립니다. 1.알고리즘이란? -어떤 문제를 해결하기 위한 동작들의 모임 -유한하다(시간적으로 공간적으로) -작동이 일어나게 내재하는 단계적 집합 -연산, 데이터 진행 또는 자동화된 추론을 수행 결론(정리): 알고리즘이란 문제를 해결하기 위한 유한성을 가지고 끝이 있는 동작(단계)들의 집합이다. 2.알고리즘의 필수 조건-입력 : 외부에서 제공되는 자료가 0개 이상 존재해야 합니다. -출력 : 모든 입력에 대한 출력이 같으면 안됩니다.-명확성 : 수행 과정은 명확하고 모호하지 않은 명령어로 구성되어야 합니다. -유한성 : 알고리즘의 명령어들은 끝이 있는 계산을 수행한 후에 종료해야 ..
안녕하세요? 코딩충입니다. 뜬금없이 LIS 알고리즘을 올리는 이유는 컴퓨터 파일들을 정리하다가 나왔기 때문인 것도 있고, 생각이 나서 그런 것도 있습니다.LIS는 Longest Increasing Subsequence 의 약자로, 최장 증가 부분수열이라고도 합니다.최장 증가 부분수열이 뭔지 설명을 하려면 부분수열이 뭔지 아셔야 됩니다.원래 수열에서만 원소들을 골라서 만든 수열을 부분수열이라고 합니다.증가 부분수열이라는 것은 첫번째 원소를 제외하고 모든 원소는 자기 앞의 원소보다 커야 된다는 것이죠.여기서 중요한 것은 "커야 된다" 라는 것입니다. 문제마다 다르기는 하지만 원래 LIS는 증가해야 됩니다. 같으면 안됩니다.그래서 최장 증가 부분수열은 결국 수열의 부분수열 중 증가하는 부분수열중 가장 긴 부분..
BOJ 10828 스택 문제 해결 방법 정수를 저장하는 스택을 구현하는 가장 기초적인 스택 문제이다. 여기서 명령은 총 5가지다 : push, pop, size, empty, top STL 스택을 이용하거나 직접 스택을 구현해서 풀 수 있다.직접 스택 구현 방법 설명 1. C++ STL 스택으로 구현 123456789101112131415161718192021222324252627282930313233343536#include #include #include using namespace std;stackS; int main() { int n; cin >> n; for (int i = 0; i > str; if (str == "push") { int x; cin >> x; S.push(x); } else ..