본문 바로가기

알고리즘

(3)
BFS, DFS 알고리즘 내가 BFS와 DFS를 배운 이유 저번에 c++ 프로젝트를 진행하면서 가장 문제였던 부분은 '플레이어를 따라오는 적'이었다.(c++로 게임 제작) 나는 자료구조와 알고리즘을 배우기는 했지만 이해를 했다고는 할 수 없는 상태였다. 그랬기 때문에 그 문제를 해결하지 못했었다. 하지만 후에 다시 자료구조와 알고리즘을 공부하기 시작했다. c#으로 게임 만드는 강의를 보면서 BFS와 DFS를 배웠다. 다익스트라 최단경로 알고리즘도 배웠다. 그러면서 이것으로 나의 문제를 해결할 수 있겠다는 생각이 들었다. 일단 나는 적이 대각선으로 움직이지도 않고 간선에 가중치가 필요 없어서 DFS 알고리즘을 사용하였다. 그리고 어제 그 문제를 해결했다!!😋😁 나중에 되면 그 문제를 해결한 내용의 글을 써 볼 예정이다! 백준 문제..
소용돌이 수 만들기 구름 edu에서 CosPro 1급 문제를 풀다가 소용돌이 수의 대각선의 합을 구하라는 문제를 풀었다. 저번에 비슷한 문제를 보고 소용돌이를 만들지 못했었다. 근데 이번엔 됐다! 자세하진 않지만 설명은 주석으로 되어있다. 그래도 보면 이해가 될 것이라고 생각한다. #include #include using namespace std; //구름 edu cospro 소용돌이 수 int main() { const int n = 4; int nArr[n][n] = {0}; int i = 0, j = 0; int checkIdx = 0;//방향을 이 변수를 통해 확인한다. int num = 1; while (num
소수를 빠르게 찾는 방법을 알아보자! 에라토스테네스의 체 에라토스테네스의 체는 나열된 수들 사이의 소수들을 빠르게 찾는 방법입니다. 알고리즘을 소개하겠습니다. (참고: 위키백과) 2부터 구할 수들을 모두 나열합니다. 먼저 2는 소수이므로 소수 목록에 둡니다. 2를 제외한 2의 배수인 모든 수는 소수가 아닌 목록으로 이동됩니다. 3도 소수 목록에 들어가게 됩니다. 3을 제외한 3의 배수인 모든 수는 소수가 아닌 목록으로 이동됩니다. 소수가 아닌 목록에 있는 수가 아닌 5도 소수입니다. 5를 제외한 5의 배수인 모든 수는 소수가 아닌 목록으로 이동됩니다. 소수가 아닌 목록에 있는 수가 아닌 7도 소수입니다. 7을 제외한 7의 배수인 모든 수는 소수가 아닌 목록으로 이동됩니다. 위의 과정을 반복하여 나열한 수들이 모두 소수만 남을때까지 반복하면 ..