머릿속에 있는 알고리즘을 소스코드로 바꾸는 과정.
풀이를 떠올리는 것은 쉽지만, 소스코드로 옮기기 어려운 문제를 지칭함.
완전 탐색, 시뮬레이션 두 유형이 있다.
📒 완전 탐색
모든 경우의 수를 주저 없이 다 계산하는 해결 방법
📒 시뮬레이션
문제에서 제시한 알고리즘을 한 단계씩 차례대로 직접 수행
일반적으로 알고리즘 문제에서 2차원 공간은 행렬(Matrix)의 의미로 사용.
시뮬레이션 및 완전 탐색문제에서는 2차원 공간에서의 방향 벡터가 주로 활용됨.
// 동, 북, 서, 남
int[] dx = {0, -1, 0, 1};
int[] dy = {1, 0, -1, 0};
// 현재 위치
int x = 2, y = 2;
for (int i = 0; i < 4; i++) {
// 다음 위치
nx = x + dx[i];
ny = y + dy[i];
}
출처
나동빈, 이것이 코딩테스트다