728x90
난이도 1: 쉬운 문제
이 카테고리는 기본적인 문법과 알고리즘 이해가 필요한 문제들입니다. 이 문제들은 기본적인 알고리즘 및 자료구조를 다루기 때문에 처음 코딩 테스트를 준비하는 사람도 쉽게 접근할 수 있습니다.
- 배열/리스트
- 배열의 합 구하기
- 배열에서 최대값, 최소값 찾기
- 배열을 오름차순 정렬하기
- 배열에서 중복된 원소 제거하기
- 문자열
- 문자열의 길이 구하기
- 문자열 뒤집기
- 두 문자열이 동일한지 비교하기
- 문자열에서 특정 문자 개수 세기
- 조건문과 반복문
- 1부터 N까지 합 구하기
- N까지의 홀수/짝수 출력하기
- 주어진 범위 내 소수 구하기
난이도 2: 중간 문제
이 카테고리는 조금 더 복잡한 문제들로, 기본적인 알고리즘을 잘 이해하고 있어야 풀 수 있습니다. 문제 해결을 위해 여러 조건을 고려하고, 자료구조를 적절하게 활용하는 능력이 요구됩니다.
- 배열/리스트
- 두 배열의 합 구하기 (두 배열을 병합하고 합 구하기)
- 두 수의 합이 특정 값이 되도록 하는 두 원소 찾기 (투 포인터 기법)
- 배열 내 특정 조건을 만족하는 원소 찾기
- 문자열
- 회문(Palindrome) 확인하기
- 아나그램(Anagram) 확인하기
- 문자열에서 중복 문자 제거하기
- 그리디 알고리즘
- 동전 교환 문제 (최소 동전 개수 구하기)
- 회의실 배정 문제 (회의실 수 최소화하기)
- 스택과 큐
- 괄호 짝 맞추기 (스택 사용)
- 큐를 이용한 시뮬레이션 문제 (예: 사람들 줄 서기 문제)
난이도 3: 어려운 문제
이 카테고리의 문제들은 알고리즘을 최적화하거나 다양한 자료구조의 사용이 요구되는 문제입니다. 알고리즘의 효율성을 고려해야 하며, 문제를 풀기 위해서는 조금 더 깊은 이해가 필요합니다.
- 탐색
- 이진 탐색 (Binary Search) 문제
- 특정 값이 있는 인덱스 찾기
- 이진 탐색 트리에서 값 찾기
- 동적 계획법 (DP)
- 피보나치 수열 구하기 (재귀와 동적 계획법)
- 최소 동전 문제
- 0/1 배낭 문제
- 그래프
- 그래프에서 연결 요소 개수 구하기 (DFS/BFS)
- 최단 경로 구하기 (다익스트라 알고리즘)
- 미로 탐색 문제 (BFS 활용)
- 재귀
- 재귀를 활용한 문제 (예: 팩토리얼, 피보나치 수열 구하기)
- 재귀를 이용한 트리 탐색
난이도 4: 매우 어려운 문제
이 카테고리는 고급 알고리즘과 자료구조를 잘 알고 있어야 풀 수 있는 문제들입니다. 효율적인 풀이 방법을 고민해야 하고, 최적화를 고려해야 합니다.
- 동적 계획법 (DP)
- LIS (가장 긴 증가하는 부분 수열)
- 최단 경로 알고리즘 (플로이드 워셜 알고리즘)
- 연속 부분 수열 문제 (부분합을 구하는 문제)
- 그래프
- 최소 스패닝 트리 (크루스칼, 프림 알고리즘)
- 네트워크 연결 문제 (연결 요소의 최소 비용 구하기)
- 그리디 알고리즘
- 거스름돈 문제 (복잡한 조건을 만족하는 가장 작은 동전 개수 구하기)
- 각자 선택할 수 있는 최선의 선택이 여러 개일 때 최적화된 선택을 하는 문제
정리
난이도주요 문제 유형예시 문제
1 | 배열/리스트, 문자열, 조건문/반복문 | 배열 합 구하기, 문자열 뒤집기 |
2 | 그리디 알고리즘, 스택/큐, 배열/리스트 탐색 | 동전 교환, 괄호 짝 맞추기 |
3 | 탐색, 동적 계획법 (DP), 그래프, 재귀 | 이진 탐색, 피보나치 DP, BFS/DFS |
4 | 고급 동적 계획법, 그래프 알고리즘, 고급 그리디 | 최단 경로, 최소 스패닝 트리 |
난이도 1과 2 문제는 기본기를 다지는 데 좋으며, 난이도 3과 4 문제는 실력을 더욱 향상시키는 데 유용합니다.
728x90
'IT > 코딩테스트' 카테고리의 다른 글
20241212 문자열과 조건문 반복문 (3) | 2024.12.11 |
---|---|
배열 문제 20241211 (1) | 2024.12.11 |
코테 문제들 (0) | 2024.12.11 |