본문 바로가기
  • 철은 두드릴수록 강해지고 사람은 굴릴수록 강해진다.

IT/Algorithm10

[알고리즘(10)] 코테 대비 백준 문제 풀이 꿀팁 [알고리즘 포스팅 순서]시간복잡도배열연결리스트스택큐트리그래프해쉬테이블정렬(선택, 버블, 삽입, 퀵, 힙, 병합)코테 대비 백준 문제 풀이 꿀팁 [서론]자료구조와 정렬 알고리즘을 공부한 후, 실전 감각을 키우는 가장 좋은 방법은 문제를 많이 풀어보는 것이다.그중에서도 백준(BOJ, Baekjoon Online Judge)은 난이도 분포, 문제 양, 해설 다양성에서 매우 유용한 코테 플랫폼이다.하지만 막상 시작하려면"뭘 풀어야 할지 모르겠어""난이도 선택이 어려워""하루에 얼마나 해야 하지?"이런 고민이 생기기 마련이다. 이 글에서는 공부 흐름, 유형별 추천 문제, 꿀팁까지 모두 정리했다. [백준 알고리즘 분류별 공부 순서](자료구조/기초 알고리즘 기준)분류 개념추천 문제 수난이도 범위배열 .. 2025. 7. 2.
[알고리즘(9)] Python으로 알아보는 정렬 [알고리즘 포스팅 순서]시간복잡도배열연결리스트스택큐트리그래프해쉬테이블정렬(선택, 버블, 삽입, 퀵, 힙, 병합)코테 대비 백준 문제 풀이 꿀팁 [서론]정렬은 자료를 순서대로 나열하는 과정이다.코딩테스트에서 배열이나 리스트 형태의 데이터를 빠르게 처리하기 위해 정렬 알고리즘의 이해는 필수적이다.정렬 알고리즘은 크게 두 가지로 나눌 수 있다.1️⃣ 비교 기반 정렬2️⃣ 비( 非 )비교 기반 정렬 (계수 정렬 등)이번 글에서는 대표적인 비교 기반 정렬 6가지를 다룬다. [정렬 알고리즘 종류]알고리즘시간복잡도 (평균)공간복잡도안정성특징선택정렬O(N²)O(1)불안정구현 쉬움, 느림버블정렬O(N²)O(1)안정구현 쉬움, 느림삽입정렬O(N²)O(1)안정거의 정렬된 데이터에 효율적퀵정렬O(N logN)O.. 2025. 6. 24.
[알고리즘(8)] Python으로 알아보는 해쉬테이블 드디어 끝이 보이기 시작하는 알고리즘 시리즈!!마지막까지 화이팅~!! [알고리즘 포스팅 순서]1. 시간복잡도2. 배열3. 연결리스트4. 스택5. 큐6. 트리7. 그래프8. 해쉬테이블9. 정렬(선택, 버블, 삽입, 퀵, 힙, 병합)10. 코테 대비 백준 문제 풀이 꿀팁  [서론]코테 문제에서 중요하게 다뤄지진 않지만 파이썬의 Dict, 자바의 Object, Map, 스위프트의 Dict 등비슷한 개념들이 유용하게 사용되고 있으니 알아두면 좋다.해쉬 테이블의 해쉬는 잘게 썰다, 엉망으로 만들다, 섞다, 잘게 썬 고기 요리 라는 뜻을 가지고 있다.따라서 해쉬 함수의 입력값의 결과는 입력값과 전혀 다른 값이 나오며 이것을 index로 삼아 사용한다.이를 가장 잘 활용한 사례가 블록체인이다. 공백하나, 온점 하나라.. 2024. 12. 21.
[알고리즘(7)] Python으로 알아보는 그래프(Graph) 취업해서 9개월만에 돌아옴 깔깔올해 안엔 이 시리즈 꼭 끝내야지  [알고리즘 포스팅 순서]1. 시간복잡도2. 배열3. 연결리스트4. 스택5. 큐6. 트리7. 그래프8. 해쉬테이블9. 정렬(선택, 버블, 삽입, 퀵, 힙, 병합)10. 코테 대비 백준 문제 풀이 꿀팁   [서론]그래프가 모든 알고리즘의 가장 근간?이라는 생각이 든다.다른 알고리즘을 설명할 때의 처음과 마지막이 되기 때문이다. 또한 코테에서 빠지지 않는 필수 문제인 DFS, BFS문제가 나오기 때문에 중요하다.   [그래프란?]그래프(Graph)란 여러 개의 점과 선으로 이루어진 수학적인 개념이다.이전 포스팅 내용인 트리(Tree)가 그래프의 한 종류이다.일상 예시로는  교통 시스템, 컴퓨터 네트워크, 컴퓨터 자원 구조 할당, 신경 학습망 구.. 2024. 12. 7.
[알고리즘(6)] Python으로 알아보는 트리(Tree) 취준 때문에 바빠서 2주만에 돌아왔다. 다시 꾸준히 글을 쓰려고 한다. [알고리즘 포스팅 순서] 1. 시간복잡도 2. 배열 3. 연결리스트 4. 스택 5. 큐 6. 트리 7. 그래프 8. 해쉬테이블 9. 정렬(선택, 버블, 삽입, 퀵, 힙, 병합) 10. 코테 대비 백준 문제 풀이 꿀팁 [서론] 난 많은 자료구조 중에서 이 '트리' 개념 때문에 초반에 자료구조의 전체적인 흐름을 이해하기가 힘들었다. 용어도 많고 종류도 많고 관련 글도 많아서 복잡해서였다. 그래서 이 답답함을 해소하기 위해 이 알고리즘 시리즈를 시작한 것이라고 해도 과언이 아니다. '트리'에 대한 모든 것을 초! 간단하게 낱낱히 파헤치고자 한다. [트리란?] 트리(Tree)란 노드들이 나뭇가지처럼 연결되어 있는 비선형 자료구조를 의미한다... 2024. 3. 31.
[알고리즘(5)] Python으로 알아보는 큐(Queue) [알고리즘 포스팅 순서] 1. 시간복잡도 2. 배열 3. 연결리스트 4. 스택 5. 큐 6. 트리 7. 그래프 8. 해쉬테이블 9. 정렬(선택, 버블, 삽입, 퀵, 힙, 병합) 10. 코테 대비 백준 문제 풀이 꿀팁 벌써 절반이나 왔다. 이번에 알아볼 자료구조는 큐(Queue)이다. 이는 나중에 많이 사용되니 기억해 둘 필요가 있는 중요한 개념이다. [큐란?] 큐는 데이터가 삽입된 순서대로 삭제도 이루어지는 자료구조이다. 컴퓨터 운영체제에서 시스템 콜이 진행될 때에도 사용된다. 큐를 한국말로 하면 '줄, 대기줄'을 의미한다. 예로 들면 게임 롤(LoL)에서 '큐를 돌린다'라는 관용 표현에서도 쓰인다. 매표소에서 줄을 선 순서대로 표를 구매하는 모습으로도 이해할 수 있다. 이를 FIFO (First In .. 2024. 3. 16.