Mgcllee

[백준][17837] 새로운 게임 2

이 포스트는 백준 사이트의 새로운 게임 2 문제 풀이입니다. 문제 해결 과정 이 문제는 3차원 배열을 사용하여 풀 수 있는 문제입니다. 한 턴이 실행되는 과정은 아래와 같습니다. 1번부터 K번까지의 플레이어가 본인의 방향에 맞춰 이동 이동한 칸의 색상에 따라 행동 모든 플레이어가 이동할 때 마다 4개 이상 겹쳐진 것이 없는...

[백준][1976] 여행 가자

이 포스트는 백준 사이트의 여행 가자 문제 풀이입니다. 문제 해결 과정 이 문제는 플로이드 워셜 알고리즘을 사용해 풀 수 있는 문제입니다. 여행 경로별로 비용을 계산할 때, 모든 여행 지점에서 또다른 모든 지점까지의 경로를 구하는 플로이드 워셜 알고리즘을 사용하면 문제를 쉽게 풀 수 있습니다. 플로이드 워셜 알고리즘을 사용하기 전 2...

[백준][1043] 거짓말

이 포스트는 백준 사이트의 거짓말 문제 풀이입니다. 문제 해결 과정 이 문제는 Union-Find 알고리즘을 사용하면 쉽게 풀 수 있는 문제입니다. 문제를 간단히 정리하면, 지민이 이야기의 진실을 아는 사람이 어떠한 질병에 감염된 사람이고 모르는 사람이 순수한 사람이라고 생각하면 쉽게 이해할 수 있습니다. 감염된 사람과 함께 있는 파티...

[알고리즘] 사이클 그래프 판별하기

그래프에서 사이클을 판단하는 것은 매우 중요합니다. 여러 그래프 탐색 알고리즘에서도 제한시간 이내에 탐색을 완료할 수 있도록 사이클에 빠지지 않기 위해 방문을 기록하는 배열을 사용하기도 합니다. 사이클과 관련된 알고리즘 문제에서는 대표적으로 사이클의 존재 여부를 판별하는 문제와 사이클에 포함된 노드를 활용하는 문제가 있습니다. 탐색하고자 하는 그래...

[백준][5427] 불

이 포스트는 백준 사이트의 불 문제 풀이입니다. 문제 해결 과정 이 문제는 불이 상하좌우 퍼지는 과정에서 상근이가 탈출할 수 있는지 확인하는 문제입니다. 여기서 불은 상하좌루로 동시에 퍼지기 떄문에 주어진 지형에서 퍼지는 과정을 BFS로 확인할 수 있습니다. 문제에서 최종적으로 구하고자 하는 것은 상근이가 탈출하는 시간이기 때문에 불이...

[C#] 람다 함수 알아보기

람다 연산자 C#에서 람다 식은 익명의 함수를 만들 수 있는 기능입니다. 즉, 함수의 이름이 존재하는 일반 함수와 다르게 이름을 선언하지 않고 사용할 수 있습니다. 이러한 람다식은 람다 연산자 =>를 사용해서 짧은 코드를 작성할 수 있고 그로 인해서 코드의 가독성을 향상 시킬 수 있다는 효과가 있습니다. 아래는 간단한 예제로 함수를 호출하여...