[백준][1043] 거짓말
이 포스트는 백준 사이트의 거짓말 문제 풀이입니다. 문제 해결 과정 이 문제는 Union-Find 알고리즘을 사용하면 쉽게 풀 수 있는 문제입니다. 문제를 간단히 정리하면, 지민이 이야기의 진실을 아는 사람이 어떠한 질병에 감염된 사람이고 모르는 사람이 순수한 사람이라고 생각하면 쉽게 이해할 수 있습니다. 감염된 사람과 함께 있는 파티...
이 포스트는 백준 사이트의 거짓말 문제 풀이입니다. 문제 해결 과정 이 문제는 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...
그래프에서 사이클을 판단하는 것은 매우 중요합니다. 여러 그래프 탐색 알고리즘에서도 제한시간 이내에 탐색을 완료할 수 있도록 사이클에 빠지지 않기 위해 방문을 기록하는 배열을 사용하기도 합니다. 사이클과 관련된 알고리즘 문제에서는 대표적으로 사이클의 존재 여부를 판별하는 문제와 사이클에 포함된 노드를 활용하는 문제가 있습니다. 탐색하고자 하는 그래...
이 포스트는 백준 사이트의 불 문제 풀이입니다. 문제 해결 과정 이 문제는 불이 상하좌우 퍼지는 과정에서 상근이가 탈출할 수 있는지 확인하는 문제입니다. 여기서 불은 상하좌루로 동시에 퍼지기 떄문에 주어진 지형에서 퍼지는 과정을 BFS로 확인할 수 있습니다. 문제에서 최종적으로 구하고자 하는 것은 상근이가 탈출하는 시간이기 때문에 불이...
람다 연산자 C#에서 람다 식은 익명의 함수를 만들 수 있는 기능입니다. 즉, 함수의 이름이 존재하는 일반 함수와 다르게 이름을 선언하지 않고 사용할 수 있습니다. 이러한 람다식은 람다 연산자 =>를 사용해서 짧은 코드를 작성할 수 있고 그로 인해서 코드의 가독성을 향상 시킬 수 있다는 효과가 있습니다. 아래는 간단한 예제로 함수를 호출하여...
이 포스트는 개인 프로젝트의 기록입니다. C# 을 사용해 보기 위해 무엇을 만들어볼까 고민 중 SFML처럼 Monogame이라는 오픈소스 프로젝트를 접하게 되었습니다. Monogame은 MS(MicroSoft)의 XBOX 360 게임 개발을 위해 배포하던 SDK를 오픈소스 커뮤니티에서 크로스 플랫폼으로 확장한 시킨 프로젝트입니다. 또한 가장 큰 ...
이 포스트는 프로그래머스 사이트의 징검다리 문제 풀이입니다. 문제 해결 과정 이 문제는 rocks 배열에 저장된 위치에 distance 거리 안에 돌이 배치되어 있을 때, n개를 제거한 뒤 인접한 돌의 최소 거리 중 최댓값을 구하는 문제입니다. 처음 문제를 시도할 때, 저는 (rocks.size() - n)개의 돌을 선택하는 조합을 사...