| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 |
- backend
- Xcode
- 바이브코딩
- Android
- git
- 알고리즘
- WWDC21
- 모바일개발
- 개발자
- 제이펍
- Lazy
- string
- developer
- 코딩테스트
- 개발
- lifecycle
- github
- 길벗
- Demystify SwiftUI
- 도서
- Spring
- int
- swift
- ios
- 백엔드
- 개발자 도서
- 개발자도서
- Algorithm
- java
- spring boot
- Today
- Total
목록Algorithm (3)
Dev_Dylan
Intro: 왜 내 코드는 예제만 통과하고 틀릴까?코딩테스트 문제를 풀다 보면 이런 경험, 한 번쯤 있으실 겁니다.알고리즘도 완벽하고, 로직도 맞는데 테스트 케이스만 통과하고 제출하면 '틀렸습니다' 혹은 '런타임 에러'가 뜨는 상황. 눈에 불을 켜고 디버깅을 해보지만 30분 동안 원인을 찾지 못하다가, 결국 발견한 것은 아주 허무한 오타 하나입니다. map[ny][nx] 라고 써야 하는데 map[ny][nc] 라고 썼네... 특히 BFS/DFS나 2차원 배열 탐색처럼 중첩 반복문(Nested Loop)을 사용할 때, 우리는 관습적으로 반복 변수 i, j, k를 사용합니다.하지만 이 '무의식적인 관습'이 긴박한 시험장에서는 치명적인 독이 될 수 있습니다. 알고리즘 문제 풀이에서 반복 변수 네이밍의 중요성..
1. 이분 탐색, 언제 써야 할까? (접근법)이분 탐색은 단순히 "숫자를 찾는 것"을 넘어,"정답을 추측하고 확인하는 과정"을 빠르게 줄여나가는 기법입니다.🚩 힌트 (이럴 때 의심하자!)입력 범위가 무지막지하게 클 때데이터 개수(N)가 10만, 100만 단위가 아니라 수십억(21억 등) 단위일 때.O(N)으로 풀면 무조건 시간 초과가 나는 경우, O(log N)인 이분 탐색을 써야 합니다."최댓값" 혹은 "최솟값"을 구하는 문제"랜선의 최대 길이", "공유기 간격의 최대 거리", "예산의 최대 상한선" 등.이것을 매개 변수 탐색 (Parametric Search)이라고 합니다.⚙️ 동작 원리 (Up & Down 게임)질문: "길이 X로 잘랐을 때 N개를 만들 수 있는가?"Yes (가능): "그럼 더 길..
1. 들어가며: 코딩 테스트와 효율성의 딜레마알고리즘 문제를 풀다 보면 항상 마주치는 딜레마가 있다. "구현의 편의성"을 택할 것인가, "극한의 성능"을 택할 것인가? 이번 백준 2164번 '카드2' 문제를 풀면서 단순히 문제를 맞히는 것을 넘어,자료구조의 선택이 메모리와 실행 시간에 미치는 영향을 깊이 있게 파고들어 보았다. 그 과정에서 알게 된 int[] 배열 구현의 함정, 그리고 Java의 LinkedList와 ArrayDeque의 결정적인 차이를 기록으로 남긴다.2. 문제 분석문제 번호: BOJ 2164 - 카드2난이도: Silver 4핵심 로직:N장의 카드가 있다. (1번이 맨 위, N번이 맨 아래)맨 앞의 카드를 버린다.그다음 카드를 맨 뒤로 옮긴다.카드가 한 장 남을 때까지 반복한다.전형적인..