728x90
Implementation
머릿속에 있는 알고리즘을 정확하고 빠르게 프로그램으로 작성하는 과정을 구현이라고 합니다.
대체적으로 풀이를 떠올리는 것은 쉽지만 구현 과정이 까다로운 문제들을 구현 문제라고 칭합니다.
동일한 알고리즘이라면 더 간결하고 효율적으로 작성한 코드가 잘 작성된 코드이므로, 문제 해결 아이디어를 떠올리는 것과 별개로 구현 능력은 코딩 테스트 뿐만 아니라 실무에서도 매우 중요합니다.
💡 구현 능력이 요구되는 대표적인 알고리즘 유형
- 완전 탐색
- 모든 경우의 수를 빠짐없이 계산하는 해결 방법
- 문제에 주어진 입력 조건들을 잘 파악해서 제한 시간안에 작성한 코드가 돌아갈 수 있는지를 파악할 줄 알아야합니다
- 시뮬레이션
- 문제에서 제시하는 논리나 동작 과정을 그대로 코드로 옮겨야 하는 유형
- dx, dy를 이용한 좌표 활용 문제가 자주 등장합니다.
- 좌표 평면에서 벗어남 검사.
- 동 서 남 북 방향에 따라 변화하는 좌표에 대한 이해
- 알고리즘은 간단한데 코드가 지나칠 만큼 길어지는 문제
- 실수 연산을 다루고, 특정 소수점까지 출력해야 하는 문제
- 문자열을 특정한 기준에 따라서 끊어 처리해야 하는 문제
- 적절한 라이브러리를 찾아서 구현해야 하는 문제
복잡한 요구 사항들과 예외 케이스 확인을 위해 적절한 반복문, 재귀 함수 사용이 필요합니다. 따라서 일반적으로는 BFS/DFS알고리즘을 사용하여 문제를 해결합니다. 경우의 수를 고려해야 하는 경우가 많기 때문에 itertools 라이브러리를 활용한 순열 조합 함수를 이용하는 경우도 존재합니다.
728x90
'코딩테스트' 카테고리의 다른 글
구현_심화8) 문자열 재정렬 (0) | 2023.09.21 |
---|---|
구현_심화7) 럭키 스트레이트 (0) | 2023.09.21 |
그리디 1-4) 1이 될 때까지 (0) | 2023.09.21 |
그리디 1-3) 숫자 카드 게임 (1) | 2023.09.21 |
그리디 1-2) 큰 수의 법칙 (0) | 2023.09.21 |