완전탐색 : 문제가 정의하는 문제 공간을 전체적으로 탐색해보는 것. 간단하게 말하면 문제에서 정의한 조건에 따라서 나올 수 있는 모든 경우의 수를 컴퓨터에게 다 해보게 하는 것.https://www.codetree.ai/missions/2/problems/be
단위 시간마다 추적하고 있는 위치에서 규칙적으로 얼만큼 떨어진 부분을 보고 문제조건에 맞게 코드를 짜는 테크닉이다. 주로 상하좌우로 많이 사용된다.상하좌우를 조건문으로 나눠서 본다면 현재 위치가 x,y 라면 다음 위치는 x+1, y / x, y-1 / x-1, y /
어떤 함수의 바디에서 자기 자신을 다시 호출하는 것을 재귀함수라고 한다. A 함수가 B 함수를 부르게 되면 컴퓨터 메모리(스택 프레임)에서는 호출된 순서대로 함수를 관리한다. 컴퓨터는 한 번에 한 개의 일밖에 못하기 때문에 현재 실행시켜야하는 라인이 어디인지를 관리를
어떤 문제를 풀 때 보통은 대상과 대상 사이의 관련이 있는 경우가 많다. 예를 들어 사람과 사람 사이의 관계를 표현해야하거나 물건 살 때 물건과 물건 간의 상관관계를 따져야할 일이 많다. 이런 작업을 할 때는 데이터 간의 관계를 표현하는 게 필요해진다. 그런 상황에서
DP 는 큰 문제에 대한 답을 얻기 위해 동일한 문제이지만 크기가 더 작은 문제들을 먼저 해결한 뒤, 그 결과들을 이용해 큰 문제를 비교적 간단하게 해결하는 기법이다. 작은 문제들을 연쇄적으로 풀면 큰 문제의 답을 얻을 수 얻겠다! 라는 해석을 할 수 있다면 이 문제는
파이썬에서 C++로 코테 주 언어를 바꿨는데 다른 사람들의 코드에 ios_base::sync_with_stdio(false); cin.tie(nullptr); 이게 대부분 들어가 있길래 조사해보려고 한다.아래 자료들을 참고하면 ios_base::sync_with_std
https://www.acmicpc.net/problem/12865준서는 N개의 물건 (W1, V1), (W2, V2), …, (Wn, Vn)을 가지고 있다.각 물건은 무게 W와 가치 V를 가지며, 준서의 배낭에는 최대 무게 K까지만 담을 수 있다.목표는 배낭
https://www.acmicpc.net/problem/10431학생 20명이 한 명씩 줄의 맨 뒤에 서되, 자기 앞에 자신보다 큰 학생이 있으면 그중 가장 앞 학생 A의 바로 앞에 끼어든다. A부터 뒤 학생들은 한 칸씩 뒤로 물러남모든 학생이 다 선 뒤,
https://leetcode.com/problems/frog-jump개구리가 강을 건너려고 한다. 강은 돌이 존재해서 개구리는 돌 위에만 착지하며 갈 수 있으며 물 위에는 설 수 없다. 돌의 위치가 오름차순으로 주어진다.개구리는 처음 위치 0번(첫 돌)에서