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