조건 잘 파악해서 알고리즘 짜기
변수 지정해서 반복문 적절히 이용하면 쉽게 풀리는 문제
✨배열 인덱스로 접근해서 효율성 챙기기
전형적인 Greedy
데이터 범위 주어진 경우 ➡️ 계수정렬 이용하기
정렬 기준 만들어주기
지역변수 초기화를 습관화하자❗
NULL vs 공백문자
Implementation
https://www.acmicpc.net/problem/2884
string 라이브러리 함수 이용
vector<pair<int, pair<int, int> > > info;
100 * 100 도화지를 array[100][100]으로 생각
전형적인 구현 문제
위치를 배열에 저장하는 게 핵심!
전형적인 브루드포스
순열✨
⭐재귀
난이도가 높은 문제는 알고리즘을 떠올리기가 어려운 문제였다
달팽이 배열🐌
substr() 이용하면 쉽게 풀림
brute force
두 개의 배열 다루기
90도 회전할 때 규칙 찾기🪄
📈코테에 자주 나오는 주식 문제
🎈DFS(재귀)
DFS 기본 형식은 동일 !
🎈BFS(Queue)
depth 계산
🥊DFS vs BFS 선택 기준
문제를 잘 읽자👀
directed / undirected graph 구분
⭐전형적인 BFS 문제 | 최단 경로
최단 경로 응용 문제
문제를 잘 읽자👀
그래프 탐색 | 정점만 주어진 경우
🎈Union-Find
Union-Find
⭐대표적인 Union-Find 문제 | MST(크루스칼 알고리즘)
✨값 3개 이상 중에 최댓값 찾을 때는 중괄호 필수 !
⚠️int 범위
알고리즘 효율적으로 !
바둑알 십자 뒤집기⚪⚫
여러 상황 고려하여 코드 작성하기✨
Greedy
⭐주식문제 - 코테 빈출
Greedy를 적용한 DFS
킹받는 토마토🍅
3차원 토마토🍅
BFS처럼 안 생겼는데 전형적인 BFS 😓
🎈DP(점화식 만들기)
점화식 연습
규칙 찾기✨
규칙 찾기✨
🌟코테에서 자주나오는 문자열 분리 문제
59 초과 시, 시/분 변경
Two Pointer (같은 방향 진행)
Two Pointer (다른 방향 진행)
부분합 구하기
stack 이용한 O(n) 풀이
구현 아이디어✨
Greedy | 빛이 나는 아이디어✨
🌻최댓값/최솟값 필요할 때 Priority Queue!
오랜만에 BFS🗺️
간단한 문제지만, 오랜만에 푸는 greedy라 기록📝
DP
stack
2차원 배열 이용하는 DP !
점화식 만드는 연습
🥑가장 긴 증가하는 부분 수열(LIS) 구하는 문제
DP
DP는 메모리제이션을 이용하기 때문에 모든 문제를 한 번씩만 풀면 돼서 시간복잡도가 O(N)으로 매우 강력하다 !!
🥑3xn 타일링
N과 (N-1)이 특정 관계를 갖고 있으면 DP 이용했을 때 가장 효율적이라는 것 잊지 말기 !!
DP : 점화식 ~~
구현 아이디어✨
c언어는 몫 구할 때 소수점 버림 방식
✨최대공약수 - 유클리드 호제법
💡소수 판별 알고리즘 | 에라토스테네스의 체
똑똑하고 빠른 방법💡
⭐소수 판별➡️에라토스테네스의 체
⭐0의 개수➡️2와 5의 소인수
방향 그래프 ➡️사이클 개수 확인
⭐map과 구조체를 이용해 트리 구현
🎟️BFS 응용 문제
진법 변환 응용
set
코드를 깔끔하게 작성하는 연습하기
빡구현이 아니라, 생각하면 코드가 간결해지는 문제🧠
🌟코테 빈출 | Greedy
처음 풀어본 이분 탐색(Binary Search) 문제✨
🌟누적합
Greedy는 간단하게 생각하기🧠
행렬 x좌표, y좌표 🟰 map[y][x]
정렬 Tip. 낮은 게 높은 우선 순위인 경우, - 붙여서 저장
🧠연속 수열의 합 ➡️투포인터 ➡️같은 방향 진행
2차원 배열 점화식
DP 점화식 연습,,
🧠
가중치가 0인 간선이 있는 경우의 BFS | priority queue
문제 설명이 난해할수록 내 생각을 완전히 배제하고, 문제대로 알고리즘 짜기
조합
하나금융TI 코테와 비슷한 문제 | 친분 관계(인접리스트)
BFS 응용 문제
✨시간 초과 | 적절한 자료구조 이용
다익스트라 | weighted graph에서 최단 경로 찾을 때
Greedy
구현 문제 풀 때는 반례 나오지 않도록 명확하게 기준을 나눠서 처리해주자💦
stack
22251
memset은 0으로 초기화할 때만😡
재귀 재귀 재귀
⭐⭐배열에서 두 수의 합 = 투 포인터⭐⭐
누적합 배열
💡소수 판별 | 에라토스테네스의 체
map | DFS
🌳이분탐색 stl : lower_bound, upper_bound
🎟️이분 탐색
🎟️BFS 응용 | 구조체로 큐 선언하는 것 추천👍🏻
⚠️시간초과 | stack 활용
Union-Find | 서로소 집합을 구하는 알고리즘
🫛투 포인터 | 중복이 없는 연속 수열 찾기
Union-Find
📐수학 관련 문제
DFS | 재귀 호출 흐름을 익히자
⭐⭐⭐다익스트라⭐⭐⭐
백트래킹 | 재귀호출하면서 가지치기
⭐이중 map⭐