
조건 잘 파악해서 알고리즘 짜기

변수 지정해서 반복문 적절히 이용하면 쉽게 풀리는 문제

✨배열 인덱스로 접근해서 효율성 챙기기

전형적인 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⭐