코딩테스트/알고리즘
2. 구현 유형(시뮬레이션)
초코chip
2024. 2. 13. 17:20
개념
- 정의: 머리속에 있는 알고리즘을 소스코드로 바꾸는 과정
- 어떤게 구현?: 풀이를 떠올리는 것은 쉽지만 소스코드로 옮기기 어려운 문제
- 예시:
- 알고리즘 간단 but 코드가 길어짐
- 실수 연산에서 특정 소수점 자리까지 출력해야 하는 문제
- 문자열을 특정한 기준에 따라 끊어서 처리해야 하는 문제
- 적절한 라이브러리 찾아서 사용해야 하는 문제 (예시 - 순열, 조합)
시뮬레이션 유형
정의: 일련의 명령에 따라 개체를 주어진 공간내에서 이동시키는 문제
행렬(2차원 배열)
알고리즘 문제에서 2차원 공간은 행렬로 사용
방향 벡터
시뮬레이션 및 완전 탐색 문제에서는 방향 벡터가 잘 활용 됨
// 동, 북, 서, 남 순서로 이동 벡터 방향 값
int[] dx = {0, -1, 0, 1};
int[] dy = {1, 0, -1, 0};
완전 탐색(Brute Forcing)
- 정의: 가능한 경우의 수를 모두 검사해보는 탐색 방법
- 주의: 시간 복잡도가 크기 때문에, 시간 제약을 잘 확인해야함