문제 출처: https://www.acmicpc.net/problem/1074 1074번: Z 한수는 크기가 2N × 2N인 2차원 배열을 Z모양으로 탐색하려고 한다. 예를 들어, 2×2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다. 만약, N > 1이 라서 www.acmicpc.net 분할 정복을 이용한 재귀 문제이다. 초기 의사 코드는 행, 열 길이가 2일 때까지 재귀를 타고 들어가서, 0,0부터 4분 할로 접근하는 방식을 선택하였다. 이 방식은 결국 시간 초과로 실패... 지문을 제대로 보니 2^N X 2^N의 최대 크기를 가질 수 있으므로 당연히 가지치기(?)가 매우 중요하다. 또한 배열을 사용하지 않는데 처음에 배열을 만들어서 계속 메모리 초과가 발생..
문제 출처: https://www.acmicpc.net/problem/17836 17836번: 공주님을 구해라! 용사는 마왕이 숨겨놓은 공주님을 구하기 위해 (N, M) 크기의 성 입구 (1,1)으로 들어왔다. 마왕은 용사가 공주를 찾지 못하도록 성의 여러 군데 마법 벽을 세워놓았다. 용사는 현재의 가지고 있는 www.acmicpc.net 3차원 배열을 통해 검을 먹었을 때와 아닐 때를 구분해야 한다. 최단시간이고 N, M, T의 범위가 크므로 BFS탐색을 선택. 매번 이동할 때마다 검을 가지고 있는지 없는지를 확인 다음 좌표가 벽인 경우 검을 가지고 있는 경우 → 3차원 배열 체크 후 이동 검을 가지고 있지 않는 경우 → 이동 불가 다음 좌표가 길(==0) 일 경우 방문 체크하고 Queue에 넣는다. ..
문제 출처:https://www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 의사 코드 1.peek에 ' )' 이 있을 경우 1-1 '(' 이 들어오면 -add 1-2 ')' 이 들어오면 -add 2.peek에 '(' 이 있을 경우 2-1 '(' 이 들어오면 -add 2-2 ')' 이 들어오면 -pop 의사 코드를 보면 단순히 스택에 '('이 들어와 있고, 다음에 들어갈 값이 ')'일 때만 pop 하므로 if else로 간단히 구분..