728x90
1. 배열/리스트
배열을 다루는 문제는 매우 자주 출제됩니다. 배열의 순서를 조작하거나 조건에 맞는 값을 찾는 문제가 포함됩니다.
- 주요 개념:
- 배열의 인덱스 접근
- 배열 내 최대값, 최소값, 합 구하기
- 배열 내 특정 조건을 만족하는 원소 찾기
- 배열을 정렬하는 방법
- 투 포인터 (Two-pointer) 기법
- 예시 문제:
- 배열의 합 구하기
- 두 수의 합이 특정 값이 되도록 하는 두 원소 찾기
- 배열에서 중복된 원소 제거하기
- 배열을 오름차순으로 정렬하기
2. 문자열
문자열 관련 문제도 자주 출제되며, 주로 문자열 탐색과 조작을 요구합니다.
- 주요 개념:
- 문자열 길이 구하기
- 특정 문자 찾기
- 문자열 뒤집기
- 문자열 비교
- 슬라이싱, 정규 표현식
- 예시 문제:
- 주어진 문자열의 문자 개수 세기
- 문자열이 회문인지 확인하기
- 문자열에서 중복 문자 제거하기
- 두 문자열이 아나그램인지 확인하기
3. 조건문과 반복문
조건문과 반복문을 잘 사용하는 문제는 매우 중요합니다. 주어진 조건에 맞는 로직을 구현하는 것이 핵심입니다.
- 주요 개념:
- if, else, elif 조건문
- for, while 반복문
- 중첩된 조건문과 반복문
- 리스트, 집합, 딕셔너리 사용하기
- 예시 문제:
- 1부터 N까지의 합 구하기
- 주어진 범위 내에서 소수 구하기
- 1부터 N까지의 숫자 중 홀수만 출력하기
4. 정렬
정렬 문제는 배열 또는 리스트를 효율적으로 정렬하는 방법을 묻는 문제입니다.
- 주요 개념:
- 기본 정렬 알고리즘: 버블 정렬, 선택 정렬, 삽입 정렬
- 고급 정렬 알고리즘: 퀵 정렬, 병합 정렬
- 파이썬 내장 함수 sorted()와 sort()
- 예시 문제:
- 리스트를 오름차순/내림차순으로 정렬하기
- 특정 조건에 맞게 정렬된 리스트 만들기
- 두 배열을 병합하여 정렬된 배열 만들기
5. 탐색
탐색 문제는 주어진 조건에 맞는 원소를 찾는 문제입니다. 이 문제들은 보통 이진 탐색, 선형 탐색 등을 포함합니다.
- 주요 개념:
- 선형 탐색 (Linear Search)
- 이진 탐색 (Binary Search)
- 이진 탐색 트리 (Binary Search Tree)
- 깊이 우선 탐색(DFS), 너비 우선 탐색(BFS)
- 예시 문제:
- 리스트에서 특정 값 찾기
- 이진 탐색을 활용한 값 찾기
- 이진 탐색 트리에서 값 찾기
6. 재귀
재귀는 함수가 자기 자신을 호출하는 방식으로 문제를 해결하는 방법입니다. 재귀를 사용하면 코드가 간결하고 직관적일 수 있습니다.
- 주요 개념:
- 재귀 함수 작성
- 기저 조건 설정
- 재귀를 이용한 문제 풀이
- 예시 문제:
- 팩토리얼 계산하기
- 피보나치 수열 구하기
- 재귀를 이용한 이진 트리 탐색
7. 그리디 알고리즘
그리디 알고리즘은 최적의 해를 찾는 문제로, 선택 시마다 최선의 선택을 하는 방식입니다.
- 주요 개념:
- 그리디 알고리즘의 특징
- 최적화 문제를 풀기 위한 전략
- 부분적인 해결을 통해 전체 문제를 해결
- 예시 문제:
- 동전 교환 문제
- 회의실 배정 문제
- 가장 큰 수 만들기
8. 동적 계획법 (DP)
동적 계획법은 문제를 작은 문제로 나누어 풀고 그 결과를 저장하여 반복 계산을 줄이는 방법입니다.
- 주요 개념:
- 메모이제이션 (Memoization)
- 점화식 (Recurrence Relation)
- DP 테이블 채우기
- 예시 문제:
- 피보나치 수열 구하기
- 최소 동전 개수 구하기
- 0/1 배낭 문제
9. 스택과 큐
스택과 큐는 기본적인 자료구조로, 주로 순서를 관리하거나 특정 조건을 만족하는 문제에서 사용됩니다.
- 주요 개념:
- 스택 (LIFO)
- 큐 (FIFO)
- 스택과 큐의 구현
- 괄호 짝 맞추기
- 예시 문제:
- 괄호 짝 맞추기
- 큐를 이용한 시뮬레이션 문제
- 스택을 이용한 후위 표기식 계산
10. 그래프
그래프 문제는 연결된 점들 간의 관계를 나타내고, 탐색이나 최단 경로 등을 구하는 문제입니다.
- 주요 개념:
- 그래프의 표현: 인접 행렬, 인접 리스트
- DFS (깊이 우선 탐색)
- BFS (너비 우선 탐색)
- 최단 경로 알고리즘: 다익스트라, 플로이드 워셜
- 예시 문제:
- 그래프의 연결 요소 구하기
- BFS/DFS로 그래프 탐색하기
- 최단 경로 구하기 (다익스트라 알고리즘)
728x90
'IT > 코딩테스트' 카테고리의 다른 글
20241212 문자열과 조건문 반복문 (3) | 2024.12.11 |
---|---|
배열 문제 20241211 (1) | 2024.12.11 |
코딩테스트 난이도별 (0) | 2024.12.11 |