← 탐색

태그된 포스트: 알고리즘

코테 브리핑 · ·3분 읽기

O(n²)인데 통과되고 O(n log n)인데 터진다

"알고리즘은 맞는데 왜 시간 초과지?" 하반기 코테 시즌마다 스터디 톡방에서 반복되는 질문이다.

시간복잡도코딩테스트python
코테 브리핑 · ·3분 읽기

가지치기 한 줄이 합불을 갈랐다

코테에서 가장 아까운 순간이 있다. 로직은 맞는데 시간초과.

백트래킹가지치기코딩테스트
코테 브리핑 · ·3분 읽기

위상 정렬, 그냥 BFS에 진입 차수만 붙인 거다

"선수과목"이라는 단어가 문제에 등장하면 머릿속에서 알고리즘들이 서로 손을 든다. DFS?

위상정렬그래프코딩테스트
코테 브리핑 · ·3분 읽기

dp[i]를 뭘로 잡느냐가 문제의 전부다

DP 문제를 30분째 붙잡고 있는 사람 옆에 가서 "dp[i] 정의가 뭐야?"라고 물어보면, 대부분 우물쭈물한다.

dp동적프로그래밍코딩테스트
코테 브리핑 · ·3분 읽기

이분 탐색 문제인데 배열이 없다?

"이분 탐색은 정렬된 배열에서 값을 찾는 알고리즘이다." 대부분의 교재가 이렇게 시작한다.

이분탐색매개변수탐색코딩테스트
코테 브리핑 · ·3분 읽기

"같은 편인지 물어볼 때마다 DFS 돌리는 사람 없지?"

코딩테스트 단골 유형 중에 "그룹 나누기"가 있다. 노드끼리 연결하고, 특정 두 노드가 같은 그룹인지 판별하는 문제.

union-find자료구조코딩테스트
코테 브리핑 · ·3분 읽기

모노톤 스택을 모르면 못 푸는 문제가 있다

N = 100,000짜리 배열. "각 원소에 대해 오른쪽에서 처음으로 나보다 큰 수를 찾아라.

모노톤스택알고리즘코딩테스트
코테 브리핑 · ·2분 읽기

백준이 사라진 73일

4월 28일, acmicpc.net에 접속하면 뜨던 문제 목록이 사라졌다.

백준코딩테스트프로그래머스
코테 브리핑 · ·3분 읽기

"최단 거리 구하시오" — 다익스트라부터 꺼내면 절반은 틀린다

"최단 거리를 구하시오." 이 문장 보자마자 다익스트라 코드를 복붙하는 습관, 나도 있었다.

최단경로다익스트라bfs
코테 브리핑 · ·3분 읽기

"이거 그리디 맞아?" — 30초 검증법

그리디 문제를 풀다 보면 "이게 진짜 이 접근으로 풀리나?" 하는 순간이 반드시 온다.

그리디알고리즘코딩테스트
코테 브리핑 · ·3분 읽기

슬라이딩 윈도우는 딱 두 종류다

코딩테스트에서 "연속된 부분 배열"이라는 문구가 나오는 순간, 머릿속에서 이중 for문이 떠오르면 이미 시간 초과 루트에 올라탄 거다. 대부분의 연속 구간 문제는 슬라이딩 윈도우 하나면 O(n)에 정리된다.

슬라이딩윈도우알고리즘코딩테스트
코테 브리핑 · ·3분 읽기

"최솟값의 최댓값을 구하시오" — 이 문장이 보이면 이분 탐색이다

"최솟값의 최댓값을 구하시오." 이 문장을 읽고 바로 이분 탐색이 떠오르면, 이미 절반은 맞힌 거다.

파라메트릭서치이분탐색코딩테스트
코테 브리핑 · ·3분 읽기

"이중 for문 말고 방법이 없는데요" — 그럴 때 꺼내는 단조 스택

"각 원소의 오른쪽에 있는 첫 번째 더 큰 수를 구하라." 이 문장을 보면 반사적으로 이중 for문을 짠다.

단조스택알고리즘코딩테스트
코테 브리핑 · ·3분 읽기

"연결돼 있냐고?" — Union-Find가 숨어 있는 문제 알아보는 법

연결 관계를 추적하는 문제가 나오면 대부분 DFS/BFS부터 떠올린다. 간선이 정적이고 한 번만 탐색하면 되는 상황이라면 그게 맞다.

union-find자료구조알고리즘
코테 브리핑 · ·3분 읽기

'이걸 BFS로?' — 그래프가 안 보이는 최단 경로 문제들

격자 위에서 (0,0)에서 (N,M)까지 최단 거리를 구하라 — 이건 누구나 BFS를 떠올린다. 근데 "문자열 A를 문자열 B로 바꾸는 최소 연산 횟수는?

bfs상태공간탐색코딩테스트
코테 브리핑 · ·3분 읽기

"회의실 배정" 유형, 아직도 정렬로만 풀고 있다면

회의실이 몇 개 필요한지 물어보는 문제. 코테에서 너무 자주 나오는 유형이라 대부분은 "시작 시간 정렬 → 힙으로 종료 시간 관리"로 접근한다.

스위프라인구간코딩테스트
코테 브리핑 · ·2분 읽기

"이거 투 포인터 아닌가?" — 맞을 때와 틀릴 때의 경계

프로그래머스 Lv2를 풀다가 "이거 투 포인터 아닌가?" 싶어서 left, right 잡고 짜기 시작한다.

투포인터슬라이딩윈도우알고리즘
코테 브리핑 · ·4분 읽기

"이게 이분 탐색?" — 파라메트릭 서치, 검색이 아니라 결정이다

"정렬된 배열에서 값을 찾는 거잖아." 이분 탐색을 이렇게만 알고 있으면 코딩테스트에서 이분 탐색 문제를 절대 못 알아본다.

이분탐색파라메트릭서치코딩테스트
코테 브리핑 · ·3분 읽기

"이거 그리디네" 하고 짰다가 40%에서 멈추는 이유

코테에서 가장 무서운 순간이 있다. 문제를 읽자마자 "아, 이거 그리디네" 하고 자신 있게 코드를 짰는데, 제출하면 40-60% 어딘가에서 WA가 뜨는 순간.

그리디알고리즘코딩테스트
코테 브리핑 · ·3분 읽기

"반복문 안에 while인데 왜 O(n)이야?" — 모노톤 스택의 직관

코테에서 "다음으로 큰 원소(Next Greater Element)"를 묻는 문제를 만나면 대부분 이중 for문을 먼저 떠올린다. O(n²)이 나오고, 시간 초과가 뜨고, 그제서야 "뭔가 다른 방법이 있나?

모노톤스택알고리즘코딩테스트
1 / 4 Next →