[백준][2178] 미로 탐색
이 포스트는 백준 사이트의 미로 탐색 문제 풀이입니다. 문제 해결 과정 이 문제는 BFS 탐색 으로 해결할 수 있습니다. 문제에서 주의할 점은 입력의 형태가 공백 없는 숫자로 전달되기 때문에 이를 변환해야 합니다. 코드 구현 #include <iostream> #include <queue> int row, ...
이 포스트는 백준 사이트의 미로 탐색 문제 풀이입니다. 문제 해결 과정 이 문제는 BFS 탐색 으로 해결할 수 있습니다. 문제에서 주의할 점은 입력의 형태가 공백 없는 숫자로 전달되기 때문에 이를 변환해야 합니다. 코드 구현 #include <iostream> #include <queue> int row, ...
이 포스트는 백준 사이트의 평범한 배낭 문제 풀이입니다. 문제 해결 과정 이 문제는 다이나믹 프로그래밍(DP)로 해결할 수 있는 대표적인 문제입니다. 준서는 최대 K 까지 배낭에 담을 수 있으므로 K 이하인 물건은 모두 담을 수도 있습니다. 따라서 DP 테이블을 사용하여 N개의 물건을 최대 K 까지 담았을 때의 값을 구하였습니다. ...
프로세스의 정의 프로세스는 일반적으로 CPU(프로세서)에 의해 처리되는 사용자 프로그램, 시스템 프로그램 등 실행중인 프로그램을 의미합니다. 프로세스는 실행중인 프로그램이라는 정의 외 여러 정의가 존재합니다. PCB(Process Control Block)을 가진 프로그램 메인메모리에 적재된 프로그램 운영체제가 관리하는 실행 단위 ...
이 포스트는 백준 사이트의 새로운 게임 2 문제 풀이입니다. 문제 해결 과정 이 문제는 3차원 배열을 사용하여 풀 수 있는 문제입니다. 한 턴이 실행되는 과정은 아래와 같습니다. 1번부터 K번까지의 플레이어가 본인의 방향에 맞춰 이동 이동한 칸의 색상에 따라 행동 모든 플레이어가 이동할 때 마다 4개 이상 겹쳐진 것이 없는...
이 포스트는 백준 사이트의 여행 가자 문제 풀이입니다. 문제 해결 과정 이 문제는 플로이드 워셜 알고리즘을 사용해 풀 수 있는 문제입니다. 여행 경로별로 비용을 계산할 때, 모든 여행 지점에서 또다른 모든 지점까지의 경로를 구하는 플로이드 워셜 알고리즘을 사용하면 문제를 쉽게 풀 수 있습니다. 플로이드 워셜 알고리즘을 사용하기 전 2...
이 포스트는 백준 사이트의 거짓말 문제 풀이입니다. 문제 해결 과정 이 문제는 Union-Find 알고리즘을 사용하면 쉽게 풀 수 있는 문제입니다. 문제를 간단히 정리하면, 지민이 이야기의 진실을 아는 사람이 어떠한 질병에 감염된 사람이고 모르는 사람이 순수한 사람이라고 생각하면 쉽게 이해할 수 있습니다. 감염된 사람과 함께 있는 파티...
이 포스트는 개인 프로젝트의 기록입니다. 이번 개발내용은 지난 포스트에서 언급한 클라이언트 간 충돌을 간단하게 구현했습니다. 두 객체간 충돌 확인 코드는 아래와 같습니다. static bool check_collision(int client_ticket) { for (int i = 0; i < clients.Count; i++) ...
알고리즘 문제 중, if()문의 조건식 안에 변수를 선언해 풀고자 한 문제가 있었습니다. 제가 작성한 코드는 아래와 같습니다. for(auto it = target.begin(); it != target.end(); ++it) { if(int t = original.find(*it) == string::npos) { next_t...
이 포스트는 백준 사이트의 후위 표기식 2 문제 풀이입니다. 문제 해결 과정 이 문제는 stack을 사용하는 대표적인 문제입니다. 문제에서 후위 표기식과 피연산자에 대응하는 숫자가 입력됩니다. 후위 표기식은 연산자는 가장 가까운 피연산자 2개를 사용합니다. 예를들어, \((A + (B \times C)) - (D / E)\) 수식을 후...
이 포스트는 개인 프로젝트의 기록입니다. 이번 개발 내용은 멀티 스레드에서 예상하지 못한 문제가 있었습니다. 대표적으로 아래의 코드가 그와 같습니다. for (int i = 0; i < 2; i++) { Socket new_client_socket = null; while (true) { new_clien...