본문 바로가기

전체 글96

[스택] 제로 :: 백준알고리즘 10773번 c++ ※ 복습용으로 작성했습니다. ※ 내용적인 면이 기억에 의존하다보니 부정확 할 가능성이 있습니다. 자세하고 정확한 이론과 풀이 방식은 시중에 파는 책이나 다른 블로그 가시는게 좋습니다. ※ 참고용으로만 보시길 바랍니다. #include #include using namespace std; int main() { int nInputIter = 0; int arData[100000]{}; cin >> nInputIter; int nInputData{}; int nCurrentIndex{}; int nTotal{}; cin.ignore(); for (int i = 0; i > nInputData; switch (nInputData) { case 0: arData[n.. 2021. 1. 17.
[스택] 백준알고리즘 10828번 c++ ※ 복습용으로 작성했습니다. ※ 내용적인 면이 기억에 의존하다보니 부정확 할 가능성이 있습니다. 자세하고 정확한 이론과 풀이 방식은 시중에 파는 책이나 다른 블로그 가시는게 좋습니다. ※ 참고용으로만 보시길 바랍니다. 스택에 대한 이론은 생략 딱히 규칙도 없다. LIFO(Last In First Out) 이 조건만 지켜주면 된다. 해당 문제엔 이러한 명령어들의 조건이 있다. push X: 정수 X를 스택에 넣는 연산이다. pop: 스택에서 가장 위에 있는 정수를 빼고, 그 수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다. size: 스택에 들어있는 정수의 개수를 출력한다. empty: 스택이 비어있으면 1, 아니면 0을 출력한다. top: 스택의 가장 위에 있는 정수를 출력한다.. 2021. 1. 17.
[정렬] MergeSort 병합정렬 약 14개월 전에 공부했던 자료구조를 다시 꺼내 공부 중에 대부분 까먹은지라.. 그때 공부했던대로 규칙만 따로 적어놓고 그려가며 떠올려봤다. ※ 복습용으로 작성했습니다. ※ 내용적인 면이 기억에 의존하다보니 부정확 할 가능성이 있습니다. 자세하고 정확한 이론과 풀이 방식은 시중에 파는 책이나 다른 블로그 가시는게 좋습니다. ※ 참고용으로만 보시길 바랍니다. 당시에 공부했던 노트인데 이론적인 부분은 쏙 빼고 순전히 조금 더 쉽게 이해하기 위해 끄적인 그림노트에 가깝다. 왼쪽 페이지보다 오른쪽 페이지가 더 간단한데 병합정렬의 자세한 이론적인 부분은 시중에 나온 책이나 다른 블로그에서 찾아보는걸로 하고 간단히 말하자면 병합정렬의 시간 복잡도는 O(n log n)인데, 이를 보고서 진행이 됨에 따라 절반씩 줄어.. 2021. 1. 16.
시간 복잡도 Time Complexity 계산 출처 : youtu.be/6Iq5iMCVsXA 근본없이 딱히 이론을 하나하나 뜯어보지 않고 공부했던 탓인지 면접 준비함에 있어서 가장 기본적인 이론이 부족해서 공부를 하는 중에 알맞은 강의가 있어서 워드에 정리하고 복습할겸 다시 업로드 중이다. 해당 유튜브 컨텐츠에 나온 설명을 기준으로 다시 재정리해서 복습하기 위함이다. 시간 복잡도에 있어서 대표적으로 거론되는 몇개가 정리되어 있는데, O(1) , O(n) , O(n^2) , O(nm) , O(n^3) , O(2^n) = Fibonacci , O(mn) , O(log n) , O(sqrt(n)) 이정도가 정리되어 있다. 1. O(1) : 입력 데이터에 상관없이 언제나 일정한 시간이 걸리는 알고리즘 데이터가 증가함에 따라 성능에 변함이 없다. 2. O(n.. 2021. 1. 14.