
해당 문제는 단순히 현재 위치를 저장하는 다른 BFS문제의 방식이 아닌, '현재 상태'를 저장하는 방식으로 문제를 해결해야 한다.

퀸은 내 위치를 포함한 주변 8칸, 직선거리, 대각선 거리를 모두 움직일 수 있다. 한 퀸은 다른 퀸이 움직일 수 있는 위치 내에 위치하면 안된다.

- stack 방식의 자료구조를 활용하여 폭발 문자열이 발견되면 pop, 스택에 남아 쌓여있는 값들끼리 모여 다시 폭발 문자열을 이루면 pop... - 위 과정이 불가능 해질 때 까지 반복된다.

스택에서 연산자의 우선순위를 어떻게 처리해야하는가 가장 핵심이다.

전형적인 그래프 문제이다.나는 플로이드워셜로 구현을 했고,Union&Find를 활용해서도 해결 할 수 있어 두 가지 방법으로 문제를 풀어봤다.

배열, 리스트에서 2개의 포인터를 활용하여 특정 조건을 만족하는 부분 구간을 찾는 알고리즘

에라토스테네스의 채를 활용

마을 분할 계획문제에서 모든 마을 안의 집들은 연결되어야 하며, 그 간선의 비용이 최소가 되어야한다고 한다. 집들끼리 연결만 되어있다면 길을 없앨 수 있다고 한다. 즉, 모든 노드 간 연결만 되어있다면 어떻게든 간선을 없애도 된다.전형적인 MST 구하기 문제이다.

전형적인 투 포인터 알고리즘 방식이다. 입력값이 최대 100,000이기 때문에 2중 반복문을 사용하면 시간초과가 난다. 그리고 적절한 구간을 찾지 못했을 경우, 0을 출력해야 하니 예외처리도 추가적으로 필요하다.

최장 공통 수열을 구하는 문제이다. 길이 뿐 만 아니라 추가적으로 해당하는 문자열 까지 찾아야한다.

현재 양쪽 끝 값이 같고, 그 내부의 수열이 팰린드롬이면 현재도 팰린드롬이다.

RGB거리 문제의 심화버전이다.이웃한 집의 색이 달라야한다는 조건에 추가적으로 첫번째 집과 마지막 번째 집의 색깔 또한 달라야한다는 조건이 추가되었다.

두 노드를 선택하여 이들을 잇는 간선을 매 번 마다 선택하는데 간선을 선택할 때 마다 사이클이 발생하는지 확인하는 문제이다. Union&Find를 활용한다.

위상정렬이란 DAG에 대하여 노드의 방향성을 지키면서 순서대로 정렬하는 것을 말한다.