첫 코테 준비 두🦁문제 설명배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원
C언어와의 차이점을 위주로 알아보자c++에서 입출력은cin, cout을 사용한다.사용법은 아래와 같다. c언어에서 //std::cout = printf//std::endl = \\n//std = namespace 이름 공간namespace는 어떤 정의된 객체에 대해
제약조건 만족문제에서 사용하는 방법이다.DFS는 가능한 모든 경로(후보군)을 탐색한다. 불필요한 후보군을 제외하지 않아서, 경우의 수를 최적으로 줄이지 못한다. \-> N! 의 경우의 수를 가지는 문제는 DFS로 처리하지 못한다.백트래킹은 해를 찾는 과정에서, 불필요한
눈 앞의 이익만을 추구하는 알고리즘. 실행시간이 빠르다.대표적인 문제: 동전 문제일반적으로 "최대한 적은", "최대한 많은" 이라는 문구가 문제에 들어가는 경우가 많다.\-> 최대/최소의 경우의 수를 구할 것을 요구하는 문제들그리디를 사용할 수 있는 조건이 주어진다정렬
백준을 풀기전에 알고리즘 공부를 해보아요그래프를 사용하는 알고리즘에서 최소 비용, 최소 경로, ..를 구해야 하는 경우 사용할 수 있는 알고리즘이다.최소 비용 중에서도 주어진 두 노드(시작, 끝) 사이의 최소 비용인 경로를 찾을 때 유용하게 사용된다.비용 -> 1차원
잊지말자 알고리즘,,순서가 정해져있는 작업을 차례로 수행해야할 때, 그 순서를 결정해주기 위해 사용하는 알고리즘!\-> 그래프의 흐름 = 조건위상정렬은 여러개의 답이 존재할 수 있다는 점에서 매력적임 😎DAG(Directed Acyclic Graph)에만 적용 가능
☺️모든 경우의 수를 탐색하며, 요구 조건에 충족되는 결과만을 가져오는 것.그러니깐 다 직접 시도해보는 방식이다. 무식하지만 확실한 방법. 그리고 시간적인 측면에서 비효율적인 알고리즘.Q. 주어진 배열에서 3개의 숫자 조합을 찾는다고 가정해보자.Q. 주어진 배열에서 최