Files
hello-algo/ko/index.html
krahets 1bbfde55c8 deploy
2026-11-04 01:07:29 +08:00

1972 lines
119 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html class="no-js" lang="ko">
<head>
<meta charset="utf-8"/>
<meta content="width=device-width,initial-scale=1" name="viewport"/>
<meta content="애니메이션으로 설명하고 클릭 한 번으로 실행하는 자료 구조와 알고리즘 입문서" name="description"/>
<meta content="krahets" name="author"/>
<link href="https://www.hello-algo.com/ko/" rel="canonical"/>
<link href="/" hreflang="zh" rel="alternate"/>
<link href="/zh-hant/" hreflang="zh-Hant" rel="alternate"/>
<link href="/en/" hreflang="en" rel="alternate"/>
<link href="/ja/" hreflang="ja" rel="alternate"/>
<link href="/ru/" hreflang="ru" rel="alternate"/>
<link href="/ko/" hreflang="ko" rel="alternate"/>
<link href="./assets/images/favicon.png" rel="icon"/>
<meta content="zensical-0.0.51" name="generator"/>
<title>
Hello 알고리즘
</title>
<link href="./assets/stylesheets/modern/main.62c9b9cc.min.css" rel="stylesheet"/>
<link href="./assets/stylesheets/modern/palette.dfe2e883.min.css" rel="stylesheet"/>
<link crossorigin="" href="https://fonts.gstatic.com" rel="preconnect"/>
<link href="https://fonts.googleapis.com/css?family=Noto+Sans+KR:300,300i,400,400i,500,500i,700,700i%7CJetBrains+Mono:400,400i,700,700i&amp;display=fallback" rel="stylesheet"/>
<style>
:root{--md-text-font:"Noto Sans KR";--md-code-font:"JetBrains Mono"}
</style>
<link href="./stylesheets/extra.css" rel="stylesheet"/>
<link href="./stylesheets/animation_player.css" rel="stylesheet"/>
<script>
__md_scope=new URL(".",location),__md_scope.pathname.endsWith("/")||(__md_scope=new URL(__md_scope.pathname+"/",location)),__md_hash=e=>[...e].reduce(((e,t)=>(e<<5)-e+t.charCodeAt(0)),0),__md_get=(e,t=localStorage,_=__md_scope)=>JSON.parse(t.getItem(_.pathname+"."+e)),__md_set=(e,t,_=localStorage,a=__md_scope)=>{try{_.setItem(a.pathname+"."+e,JSON.stringify(t))}catch(e){}},document.documentElement.setAttribute("data-platform",navigator.platform)
</script>
</head>
<body data-md-color-accent="teal" data-md-color-primary="white" data-md-color-scheme="default" dir="ltr" style="background-color: var(--md-body-bg-color);">
<input autocomplete="off" class="md-toggle" data-md-toggle="drawer" id="__drawer" type="checkbox"/>
<input autocomplete="off" class="md-toggle" data-md-toggle="search" id="__search" type="checkbox"/>
<label aria-label="네비게이션" class="md-overlay" for="__drawer">
</label>
<div data-md-component="skip">
<a class="md-skip" href="#__skip">
콘텐츠로 이동
</a>
</div>
<div data-md-color-primary="black" data-md-color-scheme="slate" data-md-component="announce">
</div>
<header class="md-header md-header--landing" data-md-color-primary="black" data-md-color-scheme="slate" data-md-component="header">
<nav aria-label="상단/헤더" class="md-header__inner md-grid">
<a aria-label="Hello 알고리즘" class="md-header__button md-logo" data-md-component="logo" href="" title="Hello 알고리즘">
<img alt="Hello 알고리즘" src="./assets/images/logo.svg"/>
</a>
<label aria-label="네비게이션" class="md-header__button md-icon" for="__drawer">
<svg class="lucide lucide-menu" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path d="M4 5h16M4 12h16M4 19h16">
</path>
</svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
<div class="md-header__topic">
<span class="md-ellipsis">
Hello 알고리즘
</span>
</div>
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
홈
</span>
</div>
</div>
</div>
<script>
var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}
</script>
<div class="md-header__option">
<div class="md-select">
<button aria-label="언어설정" class="md-header__button md-icon">
<svg class="lucide lucide-languages" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path d="m5 8 6 6M4 14l6-6 2-3M2 5h12M7 2h1M22 22l-5-10-5 10M14 18h6">
</path>
</svg>
</button>
<div class="md-select__inner" style="left: 0%;">
<ul class="md-select__list">
<li class="md-select__item">
<a class="md-select__link" href="/" hreflang="zh">
简体中文
</a>
</li>
<li class="md-select__item">
<a class="md-select__link" href="/zh-hant/" hreflang="zh-Hant">
繁體中文
</a>
</li>
<li class="md-select__item">
<a class="md-select__link" href="/en/" hreflang="en">
English
</a>
</li>
<li class="md-select__item">
<a class="md-select__link" href="/ja/" hreflang="ja">
日本語
</a>
</li>
<li class="md-select__item">
<a class="md-select__link" href="/ru/" hreflang="ru">
Русский
</a>
</li>
<li class="md-select__item">
<a class="md-select__link" href="/ko/" hreflang="ko">
한국어
</a>
</li>
</ul>
</div>
</div>
</div>
<div class="md-header__source">
<a class="md-source" data-md-component="source" href="https://github.com/krahets/hello-algo" title="저장소로 이동">
<div class="md-source__icon md-icon">
<svg viewbox="0 0 512 512" xmlns="http://www.w3.org/2000/svg">
<!--! Font Awesome Free 7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2026 Fonticons, Inc.-->
<path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2" fill="currentColor">
</path>
</svg>
</div>
<div class="md-source__repository">
krahets/hello-algo
</div>
</a>
</div>
</nav>
</header>
<div class="md-container" data-md-component="container">
<link href="../assets/home/ad8bb1cc4c28091c/hero-motion.css" rel="stylesheet"/>
<noscript>
<style>
[data-home-src], video[data-home-poster] { display: none; }
</style>
</noscript>
<section class="home-div home-universe-bg" data-md-color-primary="grey" data-md-color-scheme="slate" id="__skip" tabindex="-1">
<div class="starfield">
<div class="starfield-origin">
</div>
</div>
<div class="hero-div hero-div--ko" data-home-layout="universe">
<img alt="" data-hero-asset="ground" data-source-height="380" data-source-width="881" height="380" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/567306c070a6a7e2/ground.webp" style="position: absolute; width: auto; height: 26.445%; left: 28.211%; top: 54.145%;" width="881"/>
<img alt="" data-hero-asset="links" data-source-height="1134" data-source-width="1562" height="1134" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/3e50f38a325c1cb5/links.webp" style="position: absolute; width: auto; height: 78.751%; left: 10.545%; top: 7.326%;" width="1562"/>
<a href="chapter_introduction/">
<img alt="" data-hero-asset="astronaut" data-source-height="672" data-source-width="515" height="672" src="../assets/home/ad8bb1cc4c28091c/../shared/images/8e5eb3b3e3ebd9f7/astronaut.webp" style="height: 46.673%; left: 35.413%; top: 24.343%;" width="515"/>
<span style="left: 52.244%; top: 20.919%;">
알고리즘과의 첫 만남
</span>
</a>
<a href="chapter_computational_complexity/">
<img alt="" data-hero-asset="chapter_computational_complexity" data-source-height="178" data-source-width="113" height="178" src="../assets/home/ad8bb1cc4c28091c/../shared/images/2fb425426d1f8d86/chapter_computational_complexity.webp" style="height: 12.347%; left: 36.267%; top: 37.653%;" width="113"/>
<span style="left: 39.244%; top: 33.919%;">
복잡도
</span>
</a>
<a href="chapter_array_and_linkedlist/">
<img alt="" data-hero-asset="chapter_array_and_linkedlist" data-source-height="319" data-source-width="468" height="319" src="../assets/home/ad8bb1cc4c28091c/../shared/images/5cbbdf7be555d3ef/chapter_array_and_linkedlist.webp" style="height: 22.242%; left: 73.242%; top: 52.481%;" width="468"/>
<span style="left: 90.897%; top: 76.259%;">
배열과 연결 리스트
</span>
</a>
<a href="chapter_stack_and_queue/">
<img alt="" data-hero-asset="chapter_stack_and_queue" data-source-height="204" data-source-width="204" height="204" src="../assets/home/ad8bb1cc4c28091c/../shared/images/e2667767cf7481bd/chapter_stack_and_queue.webp" style="height: 14.302%; left: 62.646%; top: 77.875%;" width="204"/>
<span style="left: 77.571%; top: 91.25%;">
스택과 큐
</span>
</a>
<a href="chapter_hashing/">
<img alt="" data-hero-asset="chapter_hashing" data-source-height="218" data-source-width="218" height="218" src="../assets/home/ad8bb1cc4c28091c/../shared/images/b108d70a537714cb/chapter_hashing.webp" style="height: 15.266%; left: 63.281%; top: 27.933%;" width="218"/>
<span style="left: 68.862%; top: 46.292%;">
해시 테이블
</span>
</a>
<a href="chapter_tree/">
<img alt="" data-hero-asset="chapter_tree" data-source-height="281" data-source-width="280" height="281" src="../assets/home/ad8bb1cc4c28091c/../shared/images/8138bb0acecedec4/chapter_tree.webp" style="height: 19.615%; left: 80.137%; top: 26.678%;" width="280"/>
<span style="left: 96.159%; top: 44.8%;">
트리
</span>
</a>
<a href="chapter_heap/">
<img alt="" data-hero-asset="chapter_heap" data-source-height="152" data-source-width="151" height="152" src="../assets/home/ad8bb1cc4c28091c/../shared/images/7586281e6691807a/chapter_heap.webp" style="height: 10.566%; left: 77.226%; top: 11.559%;" width="151"/>
<span style="left: 88.103%; top: 15.422%;">
힙
</span>
</a>
<a href="chapter_graph/">
<img alt="" data-hero-asset="chapter_graph" data-source-height="272" data-source-width="542" height="272" src="../assets/home/ad8bb1cc4c28091c/../shared/images/175a7f2e7c3cf5f0/chapter_graph.webp" style="height: 16.112%; left: 51.854%; top: 5.575%;" width="542"/>
<span style="left: 71.195%; top: 6.503%;">
그래프
</span>
</a>
<a href="chapter_searching/">
<img alt="" data-hero-asset="chapter_searching" data-source-height="216" data-source-width="216" height="216" src="../assets/home/ad8bb1cc4c28091c/../shared/images/ebfe2b953dbb9d90/chapter_searching.webp" style="height: 15.149%; left: 18.185%; top: 16.404%;" width="216"/>
<span style="left: 14.556%; top: 20.876%;">
탐색
</span>
</a>
<a href="chapter_sorting/">
<img alt="" data-hero-asset="chapter_sorting" data-source-height="137" data-source-width="138" height="137" src="../assets/home/ad8bb1cc4c28091c/../shared/images/9d4be68b2680967c/chapter_sorting.webp" style="height: 9.574%; left: 25.409%; top: 40.747%;" width="138"/>
<span style="left: 28.805%; top: 53.808%;">
정렬
</span>
</a>
<a href="chapter_divide_and_conquer/">
<img alt="" data-hero-asset="chapter_divide_and_conquer" data-source-height="269" data-source-width="407" height="269" src="../assets/home/ad8bb1cc4c28091c/../shared/images/6f5766ca9385cd2e/chapter_divide_and_conquer.webp" style="height: 18.681%; left: 32.721%; top: 4.816%;" width="407"/>
<span style="left: 31.42%; top: 8.679%;">
분할 정복
</span>
</a>
<a href="chapter_backtracking/">
<img alt="" data-hero-asset="chapter_backtracking" data-source-height="249" data-source-width="345" height="249" src="../assets/home/ad8bb1cc4c28091c/../shared/images/176675e685febf11/chapter_backtracking.webp" style="height: 17.338%; left: 4.875%; top: 32.925%;" width="345"/>
<span style="left: 4.742%; top: 50.113%;">
백트래킹
</span>
</a>
<a href="chapter_dynamic_programming/">
<img alt="" data-hero-asset="chapter_dynamic_programming" data-source-height="268" data-source-width="267" height="268" src="../assets/home/ad8bb1cc4c28091c/../shared/images/06264b1ffd05b08e/chapter_dynamic_programming.webp" style="height: 15.47%; left: 9.406%; top: 57.472%;" width="267"/>
<span style="left: 8.561%; top: 75.351%;">
동적 계획법
</span>
</a>
<a href="chapter_greedy/">
<img alt="" data-hero-asset="chapter_greedy" data-source-height="202" data-source-width="265" height="202" src="../assets/home/ad8bb1cc4c28091c/../shared/images/2ce6caaac951c40b/chapter_greedy.webp" style="height: 14.127%; left: 23.132%; top: 75.803%;" width="265"/>
<span style="left: 21.619%; top: 86.85%;">
탐욕
</span>
</a>
</div>
<div class="heading-div">
<img alt="" loading="lazy" src="https://readme-typing-svg.demolab.com/?font=Noto+Sans+KR&amp;weight=400&amp;duration=3500&amp;pause=2000&amp;color=FFF&amp;center=true&amp;vCenter=true&amp;random=false&amp;width=200&amp;lines=Hello%2C%20%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98%21" style="height: min(9vh, 12vw);"/>
<div style="pointer-events: auto;">
<p style="margin-top: max(-1vh, -2vw); margin-bottom: min(2vh, 3.5vw);">
애니메이션으로 설명하고 클릭 한 번으로 실행하는 자료 구조와 알고리즘 입문서
</p>
<a class="rounded-button" href="chapter_hello_algo/">
<svg viewbox="0 0 512 512" xmlns="http://www.w3.org/2000/svg">
<path d="M160 96a96 96 0 1 1 192 0A96 96 0 1 1 160 96zm80 152V512l-48.4-24.2c-20.9-10.4-43.5-17-66.8-19.3l-96-9.6C12.5 457.2 0 443.5 0 427V224c0-17.7 14.3-32 32-32H62.3c63.6 0 125.6 19.6 177.7 56zm32 264V248c52.1-36.4 114.1-56 177.7-56H480c17.7 0 32 14.3 32 32V427c0 16.4-12.5 30.2-28.8 31.8l-96 9.6c-23.2 2.3-45.9 8.9-66.8 19.3L272 512z">
</path>
</svg>
<span>
읽기 시작하기
</span>
</a>
<a class="rounded-button" href="https://github.com/krahets/hello-algo">
<svg viewbox="0 0 496 512" xmlns="http://www.w3.org/2000/svg">
<path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3 .3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5 .3-6.2 2.3zm44.2-1.7c-2.9 .7-4.9 2.6-4.6 4.9 .3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3 .7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3 .3 2.9 2.3 3.9 1.6 1 3.6 .7 4.3-.7 .7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3 .7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3 .7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z">
</path>
</svg>
<span>
GitHub
</span>
</a>
</div>
<div style="text-align: center; margin-top: min(2.5vh, 3.5vw);">
<svg fill="var(--md-default-fg-color)" height="2vh" viewbox="0 0 384 512" xmlns="http://www.w3.org/2000/svg">
<path d="M169.4 470.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 370.8 224 64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 306.7L54.6 265.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z">
</path>
</svg>
</div>
</div>
</section>
<section class="home-div" data-md-color-primary="grey" data-md-color-scheme="slate">
<div class="section-content">
<div class="reading-media">
<div class="media-block">
<a href="chapter_hello_algo/">
<div style="height: 4.34%;">
</div>
<img alt="" class="device-on-hover" data-home-src="../assets/home/ad8bb1cc4c28091c/../shared/images/5b64cf7672ec5ec6/web_mac_iphone.webp" decoding="async" height="965" style="height: 66.31%;" width="1598"/>
<noscript>
<img alt="" class="device-on-hover" height="965" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/5b64cf7672ec5ec6/web_mac_iphone.webp" style="height: 66.31%;" width="1598"/>
</noscript>
<div style="height: 4.34%;">
</div>
<div class="text-button">
<span>
온라인으로 읽기
</span>
<svg viewbox="0 0 320 512" xmlns="http://www.w3.org/2000/svg">
<path d="M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z">
</path>
</svg>
</div>
</a>
</div>
<div class="media-block">
<a href="https://github.com/krahets/hello-algo/releases">
<img alt="" class="device-on-hover" data-home-src="../assets/home/ad8bb1cc4c28091c/../shared/images/66baa2f9bf3abec7/pdf_ipad.webp" decoding="async" height="960" style="height: 75%;" width="812"/>
<noscript>
<img alt="" class="device-on-hover" height="960" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/66baa2f9bf3abec7/pdf_ipad.webp" style="height: 75%;" width="812"/>
</noscript>
<div class="text-button">
<span>
PDF/EPUB 제공 언어 확인
</span>
<svg viewbox="0 0 320 512" xmlns="http://www.w3.org/2000/svg">
<path d="M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z">
</path>
</svg>
</div>
</a>
</div>
</div>
<p style="margin-top: 2em;">
500개의 애니메이션 그림, 14개 프로그래밍 언어의 코드, 3000개의 커뮤니티 질문과 답변으로 자료 구조와 알고리즘의 기초를 빠르게 익힐 수 있다
</p>
</div>
</section>
<section class="home-div" data-md-color-primary="grey" data-md-color-scheme="slate">
<div class="section-content">
<h3 style="text-align: center; margin: 1em auto;">
추천의 말
</h3>
<div class="intro-container endor-container">
<div class="intro-text endor-text">
<p style="margin-bottom: 0;">
“쉽게 읽을 수 있는 자료 구조와 알고리즘 입문서다. 직접 실습하고 생각하며 배우도록 안내한다. 알고리즘 입문자에게 적극 추천한다.”
</p>
<p style="font-weight: bold;">
—— 덩쥔후이, 칭화대학교 컴퓨터학과 교수
</p>
</div>
<div class="intro-text endor-text">
<p style="margin-bottom: 0;">
“내가 자료 구조와 알고리즘을 배울 때 『Hello 알고리즘』이 있었다면 공부가 열 배는 쉬웠을 것이다!”
</p>
<p style="font-weight: bold;">
—— 리무, 아마존 수석 과학자(Senior Principal Scientist)
</p>
</div>
</div>
</div>
</section>
<section class="home-div" data-md-color-primary="grey" data-md-color-scheme="slate">
<div class="section-content">
<div class="intro-container">
<div class="intro-text">
<div>
<div style="display: flex; align-items: center;">
<svg height="1.5em" viewbox="0 0 640 512" width="1.5em" xmlns="http://www.w3.org/2000/svg">
<path d="M256 0H576c35.3 0 64 28.7 64 64V288c0 35.3-28.7 64-64 64H256c-35.3 0-64-28.7-64-64V64c0-35.3 28.7-64 64-64zM476 106.7C471.5 100 464 96 456 96s-15.5 4-20 10.7l-56 84L362.7 169c-4.6-5.7-11.5-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4s12.4 13.6 21.6 13.6h80 48H552c8.9 0 17-4.9 21.2-12.7s3.7-17.3-1.2-24.6l-96-144zM336 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM64 128h96V384v32c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V384H512v64c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192c0-35.3 28.7-64 64-64zm8 64c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16H88c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H72zm0 104c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16H88c8.8 0 16-7.2 16-16V312c0-8.8-7.2-16-16-16H72zm0 104c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16H88c8.8 0 16-7.2 16-16V416c0-8.8-7.2-16-16-16H72zm336 16v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V416c0-8.8-7.2-16-16-16H424c-8.8 0-16 7.2-16 16z" fill="var(--md-primary-bg-color)">
</path>
</svg>
<h3 style="margin-left: 0.5em;">
애니메이션 그림
</h3>
</div>
<p style="margin: 0;">
명확하고 이해하기 쉬운 내용, 완만한 학습 곡선
</p>
<p class="intro-quote">
"A picture is worth a thousand words."
<br/>
“그림 한 장이 천 마디 말보다 낫다”
</p>
</div>
</div>
<video aria-label="애니메이션 예제" class="intro-image" data-home-poster="../assets/home/ad8bb1cc4c28091c/../shared/images/9e5f39bf33afc70f/animation-poster.webp" data-home-video="../assets/home/ad8bb1cc4c28091c/../shared/media/6c70de2b2bf4eef7/animation.mp4" height="1080" loop="" muted="" playsinline="" preload="none" style="aspect-ratio: 1600 / 1080" width="1600">
</video>
<noscript>
<a href="../assets/home/ad8bb1cc4c28091c/../shared/media/6c70de2b2bf4eef7/animation.mp4">
<img alt="애니메이션 예제" class="intro-image" height="1080" src="../assets/home/ad8bb1cc4c28091c/../shared/images/9e5f39bf33afc70f/animation-poster.webp" width="1600"/>
애니메이션 그림
</a>
</noscript>
</div>
<div class="intro-container">
<video aria-label="코드 실행 예제" class="intro-image" data-home-poster="../assets/home/ad8bb1cc4c28091c/../shared/images/f33a13e8331245ae/running_code-poster.webp" data-home-video="../assets/home/ad8bb1cc4c28091c/../shared/media/bb169a96ca8316da/running_code.mp4" height="1082" loop="" muted="" playsinline="" preload="none" style="aspect-ratio: 1600 / 1082" width="1600">
</video>
<noscript>
<a href="../assets/home/ad8bb1cc4c28091c/../shared/media/bb169a96ca8316da/running_code.mp4">
<img alt="코드 실행 예제" class="intro-image" height="1082" src="../assets/home/ad8bb1cc4c28091c/../shared/images/f33a13e8331245ae/running_code-poster.webp" width="1600"/>
클릭 한 번으로 실행
</a>
</noscript>
<div class="intro-text">
<div>
<div style="display: flex; align-items: center;">
<svg height="1.5em" viewbox="0 0 640 512" width="1.5em" xmlns="http://www.w3.org/2000/svg">
<path d="M392.8 1.2c-17-4.9-34.7 5-39.6 22l-128 448c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l128-448c4.9-17-5-34.7-22-39.6zm80.6 120.1c-12.5 12.5-12.5 32.8 0 45.3L562.7 256l-89.4 89.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l112-112c12.5-12.5 12.5-32.8 0-45.3l-112-112c-12.5-12.5-32.8-12.5-45.3 0zm-306.7 0c-12.5-12.5-32.8-12.5-45.3 0l-112 112c-12.5 12.5-12.5 32.8 0 45.3l112 112c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256l89.4-89.4c12.5-12.5 12.5-32.8 0-45.3z" fill="var(--md-primary-bg-color)">
</path>
</svg>
<h3 style="margin-left: 0.5em;">
클릭 한 번으로 실행
</h3>
</div>
<p style="margin: 0;">
열 가지가 넘는 프로그래밍 언어와 코드 실행 시각화
</p>
<p class="intro-quote">
"Talk is cheap. Show me the code."
<br/>
“말보다 코드를 보여 달라”
</p>
</div>
</div>
</div>
<div class="intro-container">
<div class="intro-text">
<div>
<div style="display: flex; align-items: center;">
<svg height="1.5em" viewbox="0 0 640 512" width="1.5em" xmlns="http://www.w3.org/2000/svg">
<path d="M88.2 309.1c9.8-18.3 6.8-40.8-7.5-55.8C59.4 230.9 48 204 48 176c0-63.5 63.8-128 160-128s160 64.5 160 128s-63.8 128-160 128c-13.1 0-25.8-1.3-37.8-3.6c-10.4-2-21.2-.6-30.7 4.2c-4.1 2.1-8.3 4.1-12.6 6c-16 7.2-32.9 13.5-49.9 18c2.8-4.6 5.4-9.1 7.9-13.6c1.1-1.9 2.2-3.9 3.2-5.9zM0 176c0 41.8 17.2 80.1 45.9 110.3c-.9 1.7-1.9 3.5-2.8 5.1c-10.3 18.4-22.3 36.5-36.6 52.1c-6.6 7-8.3 17.2-4.6 25.9C5.8 378.3 14.4 384 24 384c43 0 86.5-13.3 122.7-29.7c4.8-2.2 9.6-4.5 14.2-6.8c15.1 3 30.9 4.5 47.1 4.5c114.9 0 208-78.8 208-176S322.9 0 208 0S0 78.8 0 176zM432 480c16.2 0 31.9-1.6 47.1-4.5c4.6 2.3 9.4 4.6 14.2 6.8C529.5 498.7 573 512 616 512c9.6 0 18.2-5.7 22-14.5c3.8-8.8 2-19-4.6-25.9c-14.2-15.6-26.2-33.7-36.6-52.1c-.9-1.7-1.9-3.4-2.8-5.1C622.8 384.1 640 345.8 640 304c0-94.4-87.9-171.5-198.2-175.8c4.1 15.2 6.2 31.2 6.2 47.8l0 .6c87.2 6.7 144 67.5 144 127.4c0 28-11.4 54.9-32.7 77.2c-14.3 15-17.3 37.6-7.5 55.8c1.1 2 2.2 4 3.2 5.9c2.5 4.5 5.2 9 7.9 13.6c-17-4.5-33.9-10.7-49.9-18c-4.3-1.9-8.5-3.9-12.6-6c-9.5-4.8-20.3-6.2-30.7-4.2c-12.1 2.4-24.7 3.6-37.8 3.6c-61.7 0-110-26.5-136.8-62.3c-16 5.4-32.8 9.4-50 11.8C279 439.8 350 480 432 480z" fill="var(--md-primary-bg-color)">
</path>
</svg>
<h3 style="margin-left: 0.5em;">
함께 배우기
</h3>
</div>
<p style="margin: 0;">
질문과 토론을 나누며 함께 성장하는 독자들
</p>
<p class="intro-quote">
"Learning by teaching."
<br/>
“가르치며 배운다”
</p>
</div>
</div>
<video aria-label="댓글 예제" class="intro-image" data-home-poster="../assets/home/ad8bb1cc4c28091c/../shared/images/f9ac69536a7582f5/comment-poster.webp" data-home-video="../assets/home/ad8bb1cc4c28091c/../shared/media/62aa0b8d351c63a7/comment.mp4" height="1080" loop="" muted="" playsinline="" preload="none" style="aspect-ratio: 1600 / 1080" width="1600">
</video>
<noscript>
<a href="../assets/home/ad8bb1cc4c28091c/../shared/media/62aa0b8d351c63a7/comment.mp4">
<img alt="댓글 예제" class="intro-image" height="1080" src="../assets/home/ad8bb1cc4c28091c/../shared/images/f9ac69536a7582f5/comment-poster.webp" width="1600"/>
함께 배우기
</a>
</noscript>
</div>
</div>
</section>
<section class="home-div" data-md-color-primary="grey" data-md-color-scheme="slate">
<div class="section-content" style="max-width: 90vw;">
<div style="margin: 2em auto;">
<h3>
저자
</h3>
<div class="profile-div">
<div class="profile-cell">
<a href="https://github.com/krahets">
<img alt="저자: yudongjin" class="profile-img" height="512" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/02348410d40f7665/avatar_yudongjin.webp" width="512"/>
<br/>
<b>
진위둥(@krahets)
</b>
</a>
</div>
</div>
</div>
<div style="margin: 2em auto;">
<h3>
코드 검토자
</h3>
<p>
다음 개발자들이 함께 힘을 모아 여러 언어의 예제 코드를 완성했다. 이들의 노력과 기여에 감사드린다!
</p>
<div class="profile-div">
<div class="profile-cell">
<a href="https://github.com/coderonion">
<img alt="검토자: coderonion" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/db606f27971eae34/avatar_coderonion.webp" width="384"/>
<br/>
<b>
coderonion
</b>
<br/>
<sub>
Zig, Rust
</sub>
</a>
</div>
<div class="profile-cell">
<a href="https://github.com/curtishd">
<img alt="검토자: curtishd" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/feedb0e547ea31fc/avatar_curtishd.webp" width="384"/>
<br/>
<b>
curtishd
</b>
<br/>
<sub>
Kotlin
</sub>
</a>
</div>
<div class="profile-cell">
<a href="https://github.com/Gonglja">
<img alt="검토자: Gonglja" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/cdcf023b032b8d30/avatar_Gonglja.webp" width="384"/>
<br/>
<b>
Gonglja
</b>
<br/>
<sub>
C, C++
</sub>
</a>
</div>
<div class="profile-cell">
<a href="https://github.com/gvenusleo">
<img alt="검토자: gvenusleo" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/464e2d351b9263ec/avatar_gvenusleo.webp" width="384"/>
<br/>
<b>
gvenusleo
</b>
<br/>
<sub>
Dart
</sub>
</a>
</div>
<div class="profile-cell">
<a href="https://github.com/hpstory">
<img alt="검토자: hpstory" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/7b6478acdab6b845/avatar_hpstory.webp" width="384"/>
<br/>
<b>
hpstory
</b>
<br/>
<sub>
C#
</sub>
</a>
</div>
<div class="profile-cell">
<a href="https://github.com/justin-tse">
<img alt="검토자: justin-tse" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/208ee5aae490eefa/avatar_justin-tse.webp" width="384"/>
<br/>
<b>
justin-tse
</b>
<br/>
<sub>
JS, TS
</sub>
</a>
</div>
<div class="profile-cell">
<a href="https://github.com/khoaxuantu">
<img alt="검토자: khoaxuantu" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/9d3f1a21ff51de78/avatar_khoaxuantu.webp" width="384"/>
<br/>
<b>
khoaxuantu
</b>
<br/>
<sub>
Ruby
</sub>
</a>
</div>
<div class="profile-cell">
<a href="https://github.com/krahets">
<img alt="검토자: krahets" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/e321f9a3ac2739e0/avatar_krahets.webp" width="384"/>
<br/>
<b>
krahets
</b>
<br/>
<sub>
Python, Java
</sub>
</a>
</div>
<div class="profile-cell">
<a href="https://github.com/night-cruise">
<img alt="검토자: night-cruise" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/960b489efa22abd4/avatar_night-cruise.jpg" width="384"/>
<br/>
<b>
night-cruise
</b>
<br/>
<sub>
Rust
</sub>
</a>
</div>
<div class="profile-cell">
<a href="https://github.com/nuomi1">
<img alt="검토자: nuomi1" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/7316a9eb4429b259/avatar_nuomi1.webp" width="384"/>
<br/>
<b>
nuomi1
</b>
<br/>
<sub>
Swift
</sub>
</a>
</div>
<div class="profile-cell">
<a href="https://github.com/Reanon">
<img alt="검토자: Reanon" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/dcc15aa68cc793c7/avatar_Reanon.webp" width="384"/>
<br/>
<b>
Reanon
</b>
<br/>
<sub>
Go, C
</sub>
</a>
</div>
<div class="profile-cell">
<a href="https://github.com/rongyi">
<img alt="검토자: rongyi" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/5dc6c4b1d8bfe0ac/avatar_rongyi.webp" width="384"/>
<br/>
<b>
rongyi
</b>
<br/>
<sub>
Rust
</sub>
</a>
</div>
</div>
</div>
<div style="margin: 2em auto;">
<h3>
기여자
</h3>
<p>
이 책은 오픈 소스 커뮤니티의 200명이 넘는 기여자가 함께 노력한 덕분에 꾸준히 발전하고 있다. 시간과 노력을 들여 준 모든 분께 감사드린다!
</p>
<a href="https://github.com/krahets/hello-algo/graphs/contributors">
<img alt="기여자" loading="lazy" src="https://contrib.rocks/image?repo=krahets/hello-algo&amp;max=300&amp;columns=12" style="width: 100%; max-width: 38.5em;"/>
</a>
</div>
</div>
</section>
<script defer="" onerror="document.querySelectorAll('[data-home-src], [data-home-poster]').forEach(function(el) { if (el.dataset.homeSrc) el.src = el.dataset.homeSrc; if (el.dataset.homePoster) el.poster = el.dataset.homePoster; });" src="../assets/home/ad8bb1cc4c28091c/javascripts/homepage-media.js">
</script>
<main class="md-main" data-md-component="main" style="height: 0;">
<div class="md-main__inner md-grid">
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" hidden="">
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav aria-label="네비게이션" class="md-nav md-nav--primary" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a aria-label="Hello 알고리즘" class="md-nav__button md-logo" data-md-component="logo" href="" title="Hello 알고리즘">
<img alt="Hello 알고리즘" src="./assets/images/logo.svg"/>
</a>
Hello 알고리즘
</label>
<div class="md-nav__source">
<a class="md-source" data-md-component="source" href="https://github.com/krahets/hello-algo" title="저장소로 이동">
<div class="md-source__icon md-icon">
<svg viewbox="0 0 512 512" xmlns="http://www.w3.org/2000/svg">
<!--! Font Awesome Free 7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2026 Fonticons, Inc.-->
<path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2" fill="currentColor">
</path>
</svg>
</div>
<div class="md-source__repository">
krahets/hello-algo
</div>
</a>
</div>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" id="__nav_1" type="checkbox"/>
<div class="md-nav__link md-nav__container">
<a class="md-nav__link" href="./chapter_hello_algo/">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path d="m13.13 22.19-1.63-3.83c1.57-.58 3.04-1.36 4.4-2.27zM5.64 12.5l-3.83-1.63 6.1-2.77C7 9.46 6.22 10.93 5.64 12.5M19.22 4c.28 0 .53 0 .74.05.17 1.39-.02 4.25-3.3 7.53-1.7 1.71-3.73 3.02-6.01 3.89l-2.15-2.1c.92-2.31 2.23-4.34 3.92-6.03C15.18 4.58 17.64 4 19.22 4m0-2c-1.98 0-4.98.69-8.22 3.93-2.19 2.19-3.5 4.6-4.35 6.71-.28.75-.09 1.57.46 2.13l2.13 2.12c.38.38.89.61 1.42.61.23 0 .47-.06.7-.15A19.1 19.1 0 0 0 18.07 13c5.66-5.66 3.54-10.61 3.54-10.61S20.7 2 19.22 2m-4.68 7.46c-.78-.78-.78-2.05 0-2.83s2.05-.78 2.83 0c.77.78.78 2.05 0 2.83s-2.05.78-2.83 0m-5.66 7.07-1.41-1.41zM6.24 22l3.64-3.64c-.34-.09-.67-.24-.97-.45L4.83 22zM2 22h1.41l4.77-4.76-1.42-1.41L2 20.59zm0-2.83 4.09-4.08c-.21-.3-.36-.62-.45-.97L2 17.76z">
</path>
</svg>
<span class="md-ellipsis">
머리말
</span>
</a>
</div>
<nav aria-expanded="false" aria-labelledby="__nav_1_label" class="md-nav" data-md-level="1">
<label class="md-nav__title" for="__nav_1">
<span class="md-nav__icon md-icon">
</span>
머리말
</label>
<ul class="md-nav__list" data-md-scrollfix="">
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" id="__nav_2" type="checkbox"/>
<div class="md-nav__link md-nav__container">
<a class="md-nav__link" href="./chapter_preface/">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path d="M21 4H3a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2h18a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2M3 19V6h8v13zm18 0h-8V6h8zm-7-9.5h6V11h-6zm0 2.5h6v1.5h-6zm0 2.5h6V16h-6z">
</path>
</svg>
<span class="md-ellipsis">
제 0 장   들어가며
</span>
</a>
<label class="md-nav__link" for="__nav_2" id="__nav_2_label" tabindex="0">
<span class="md-nav__icon md-icon">
</span>
</label>
</div>
<nav aria-expanded="false" aria-labelledby="__nav_2_label" class="md-nav" data-md-level="1">
<label class="md-nav__title" for="__nav_2">
<span class="md-nav__icon md-icon">
</span>
제 0 장   들어가며
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_preface/about_the_book/">
<span class="md-ellipsis">
0.1   이 책에 대하여
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_preface/suggestions/">
<span class="md-ellipsis">
0.2   이 책을 활용하는 방법
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_preface/summary/">
<span class="md-ellipsis">
0.3   요약
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" id="__nav_3" type="checkbox"/>
<div class="md-nav__link md-nav__container">
<a class="md-nav__link" href="./chapter_introduction/">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m0 16H5V5h14zM6.2 7.7h5v1.5h-5zm6.8 8.1h5v1.5h-5zm0-2.6h5v1.5h-5zM8 18h1.5v-2h2v-1.5h-2v-2H8v2H6V16h2zm6.1-7.1 1.4-1.4 1.4 1.4 1.1-1-1.4-1.4L18 7.1 16.9 6l-1.4 1.4L14.1 6 13 7.1l1.4 1.4L13 9.9z">
</path>
</svg>
<span class="md-ellipsis">
제 1 장   알고리즘과의 첫 만남
</span>
</a>
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
<span class="md-nav__icon md-icon">
</span>
</label>
</div>
<nav aria-expanded="false" aria-labelledby="__nav_3_label" class="md-nav" data-md-level="1">
<label class="md-nav__title" for="__nav_3">
<span class="md-nav__icon md-icon">
</span>
제 1 장   알고리즘과의 첫 만남
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_introduction/algorithms_are_everywhere/">
<span class="md-ellipsis">
1.1   어디에나 있는 알고리즘
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_introduction/what_is_dsa/">
<span class="md-ellipsis">
1.2   알고리즘이란 무엇인가
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_introduction/summary/">
<span class="md-ellipsis">
1.3   요약
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" id="__nav_4" type="checkbox"/>
<div class="md-nav__link md-nav__container">
<a class="md-nav__link" href="./chapter_computational_complexity/">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path d="M6 2h12v6l-4 4 4 4v6H6v-6l4-4-4-4zm10 14.5-4-4-4 4V20h8zm-4-5 4-4V4H8v3.5zM10 6h4v.75l-2 2-2-2z">
</path>
</svg>
<span class="md-ellipsis">
제 2 장   복잡도 분석
</span>
</a>
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
<span class="md-nav__icon md-icon">
</span>
</label>
</div>
<nav aria-expanded="false" aria-labelledby="__nav_4_label" class="md-nav" data-md-level="1">
<label class="md-nav__title" for="__nav_4">
<span class="md-nav__icon md-icon">
</span>
제 2 장   복잡도 분석
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_computational_complexity/performance_evaluation/">
<span class="md-ellipsis">
2.1   알고리즘 효율 평가
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_computational_complexity/iteration_and_recursion/">
<span class="md-ellipsis">
2.2   반복과 재귀
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_computational_complexity/time_complexity/">
<span class="md-ellipsis">
2.3   시간 복잡도
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_computational_complexity/space_complexity/">
<span class="md-ellipsis">
2.4   공간 복잡도
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_computational_complexity/summary/">
<span class="md-ellipsis">
2.5   요약
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_computational_complexity/exercises/">
<span class="md-ellipsis">
2.6   연습 문제
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" id="__nav_5" type="checkbox"/>
<div class="md-nav__link md-nav__container">
<a class="md-nav__link" href="./chapter_data_structure/">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path d="M11 13.5v8H3v-8zm-2 2H5v4h4zM12 2l5.5 9h-11zm0 3.86L10.08 9h3.84zM17.5 13c2.5 0 4.5 2 4.5 4.5S20 22 17.5 22 13 20 13 17.5s2-4.5 4.5-4.5m0 2a2.5 2.5 0 0 0-2.5 2.5 2.5 2.5 0 0 0 2.5 2.5 2.5 2.5 0 0 0 2.5-2.5 2.5 2.5 0 0 0-2.5-2.5">
</path>
</svg>
<span class="md-ellipsis">
제 3 장   자료 구조
</span>
</a>
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
<span class="md-nav__icon md-icon">
</span>
</label>
</div>
<nav aria-expanded="false" aria-labelledby="__nav_5_label" class="md-nav" data-md-level="1">
<label class="md-nav__title" for="__nav_5">
<span class="md-nav__icon md-icon">
</span>
제 3 장   자료 구조
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_data_structure/classification_of_data_structure/">
<span class="md-ellipsis">
3.1   자료 구조의 분류
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_data_structure/basic_data_types/">
<span class="md-ellipsis">
3.2   기본 자료형
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_data_structure/number_encoding/">
<span class="md-ellipsis">
3.3   수의 인코딩 *
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_data_structure/character_encoding/">
<span class="md-ellipsis">
3.4   문자 인코딩 *
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_data_structure/summary/">
<span class="md-ellipsis">
3.5   요약
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_data_structure/exercises/">
<span class="md-ellipsis">
3.6   연습 문제
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" id="__nav_6" type="checkbox"/>
<div class="md-nav__link md-nav__container">
<a class="md-nav__link" href="./chapter_array_and_linkedlist/">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path d="M3 5v14h17V5zm4 2v2H5V7zm-2 6v-2h2v2zm0 2h2v2H5zm13 2H9v-2h9zm0-4H9v-2h9zm0-4H9V7h9z">
</path>
</svg>
<span class="md-ellipsis">
제 4 장   배열과 연결 리스트
</span>
</a>
<label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
<span class="md-nav__icon md-icon">
</span>
</label>
</div>
<nav aria-expanded="false" aria-labelledby="__nav_6_label" class="md-nav" data-md-level="1">
<label class="md-nav__title" for="__nav_6">
<span class="md-nav__icon md-icon">
</span>
제 4 장   배열과 연결 리스트
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_array_and_linkedlist/array/">
<span class="md-ellipsis">
4.1   배열
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_array_and_linkedlist/linked_list/">
<span class="md-ellipsis">
4.2   연결 리스트
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_array_and_linkedlist/list/">
<span class="md-ellipsis">
4.3   리스트
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_array_and_linkedlist/ram_and_cache/">
<span class="md-ellipsis">
4.4   메모리와 캐시 *
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_array_and_linkedlist/summary/">
<span class="md-ellipsis">
4.5   요약
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_array_and_linkedlist/exercises/">
<span class="md-ellipsis">
4.6   연습 문제
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" id="__nav_7" type="checkbox"/>
<div class="md-nav__link md-nav__container">
<a class="md-nav__link" href="./chapter_stack_and_queue/">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path d="M17.36 20.2v-5.38h1.79V22H3v-7.18h1.8v5.38zM6.77 14.32l.37-1.76 8.79 1.85-.37 1.76zm1.16-4.21.76-1.61 8.14 3.78-.76 1.62zm2.26-3.99 1.15-1.38 6.9 5.76-1.15 1.37zm4.45-4.25L20 9.08l-1.44 1.07-5.36-7.21zM6.59 18.41v-1.8h8.98v1.8z">
</path>
</svg>
<span class="md-ellipsis">
제 5 장   스택과 큐
</span>
</a>
<label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0">
<span class="md-nav__icon md-icon">
</span>
</label>
</div>
<nav aria-expanded="false" aria-labelledby="__nav_7_label" class="md-nav" data-md-level="1">
<label class="md-nav__title" for="__nav_7">
<span class="md-nav__icon md-icon">
</span>
제 5 장   스택과 큐
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_stack_and_queue/stack/">
<span class="md-ellipsis">
5.1   스택
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_stack_and_queue/queue/">
<span class="md-ellipsis">
5.2   큐
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_stack_and_queue/deque/">
<span class="md-ellipsis">
5.3   덱
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_stack_and_queue/summary/">
<span class="md-ellipsis">
5.4   요약
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_stack_and_queue/exercises/">
<span class="md-ellipsis">
5.5   연습 문제
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" id="__nav_8" type="checkbox"/>
<div class="md-nav__link md-nav__container">
<a class="md-nav__link" href="./chapter_hashing/">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path d="M19.3 17.89c1.32-2.1.7-4.89-1.41-6.21a4.52 4.52 0 0 0-6.21 1.41C10.36 15.2 11 18 13.09 19.3c1.47.92 3.33.92 4.8 0L21 22.39 22.39 21zm-2-.62c-.98.98-2.56.97-3.54 0-.97-.98-.97-2.56.01-3.54.97-.97 2.55-.97 3.53 0 .96.99.95 2.57-.03 3.54zM19 4H5a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h5.81a6.3 6.3 0 0 1-1.31-2H5v-4h4.18c.16-.71.43-1.39.82-2H5V8h6v2.81a6.3 6.3 0 0 1 2-1.31V8h6v2a6.499 6.499 0 0 1 2 2V6a2 2 0 0 0-2-2">
</path>
</svg>
<span class="md-ellipsis">
제 6 장   해시 테이블
</span>
</a>
<label class="md-nav__link" for="__nav_8" id="__nav_8_label" tabindex="0">
<span class="md-nav__icon md-icon">
</span>
</label>
</div>
<nav aria-expanded="false" aria-labelledby="__nav_8_label" class="md-nav" data-md-level="1">
<label class="md-nav__title" for="__nav_8">
<span class="md-nav__icon md-icon">
</span>
제 6 장   해시 테이블
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_hashing/hash_map/">
<span class="md-ellipsis">
6.1   해시 테이블
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_hashing/hash_collision/">
<span class="md-ellipsis">
6.2   해시 충돌
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_hashing/hash_algorithm/">
<span class="md-ellipsis">
6.3   해시 알고리즘
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_hashing/summary/">
<span class="md-ellipsis">
6.4   요약
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_hashing/exercises/">
<span class="md-ellipsis">
6.5   연습 문제
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" id="__nav_9" type="checkbox"/>
<div class="md-nav__link md-nav__container">
<a class="md-nav__link" href="./chapter_tree/">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path d="M19.5 17c-.14 0-.26 0-.39.04L17.5 13.8c.45-.45.75-1.09.75-1.8a2.5 2.5 0 0 0-2.5-2.5c-.14 0-.25 0-.4.04L13.74 6.3c.47-.46.76-1.09.76-1.8a2.5 2.5 0 0 0-5 0c0 .7.29 1.34.76 1.79L8.65 9.54c-.15-.04-.26-.04-.4-.04a2.5 2.5 0 0 0-2.5 2.5c0 .71.29 1.34.75 1.79l-1.61 3.25C4.76 17 4.64 17 4.5 17a2.5 2.5 0 0 0 0 5A2.5 2.5 0 0 0 7 19.5c0-.7-.29-1.34-.76-1.79l1.62-3.25c.14.04.26.04.39.04s.25 0 .38-.04l1.63 3.25c-.47.45-.76 1.09-.76 1.79a2.5 2.5 0 0 0 5 0A2.5 2.5 0 0 0 12 17c-.13 0-.26 0-.39.04L10 13.8c.45-.45.75-1.09.75-1.8 0-.7-.29-1.33-.75-1.79l1.61-3.25c.13.04.26.04.39.04s.26 0 .39-.04L14 10.21a2.5 2.5 0 0 0 1.75 4.29c.13 0 .25 0 .38-.04l1.63 3.25c-.47.45-.76 1.09-.76 1.79a2.5 2.5 0 0 0 5 0 2.5 2.5 0 0 0-2.5-2.5m-15 3.5c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1m8.5-1c0 .55-.45 1-1 1s-1-.45-1-1 .45-1 1-1 1 .45 1 1M7.25 12c0-.55.45-1 1-1s1 .45 1 1-.45 1-1 1-1-.45-1-1M11 4.5c0-.55.45-1 1-1s1 .45 1 1-.45 1-1 1-1-.45-1-1m3.75 7.5c0-.55.45-1 1-1s1 .45 1 1-.45 1-1 1-1-.45-1-1m4.75 8.5c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1">
</path>
</svg>
<span class="md-ellipsis">
제 7 장   트리
</span>
</a>
<label class="md-nav__link" for="__nav_9" id="__nav_9_label" tabindex="0">
<span class="md-nav__icon md-icon">
</span>
</label>
</div>
<nav aria-expanded="false" aria-labelledby="__nav_9_label" class="md-nav" data-md-level="1">
<label class="md-nav__title" for="__nav_9">
<span class="md-nav__icon md-icon">
</span>
제 7 장   트리
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_tree/binary_tree/">
<span class="md-ellipsis">
7.1   이진 트리
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_tree/binary_tree_traversal/">
<span class="md-ellipsis">
7.2   이진 트리 순회
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_tree/array_representation_of_tree/">
<span class="md-ellipsis">
7.3   이진 트리의 배열 표현
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_tree/binary_search_tree/">
<span class="md-ellipsis">
7.4   이진 탐색 트리
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_tree/avl_tree/">
<span class="md-ellipsis">
7.5   AVL 트리 *
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_tree/summary/">
<span class="md-ellipsis">
7.6   요약
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_tree/exercises/">
<span class="md-ellipsis">
7.7   연습 문제
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" id="__nav_10" type="checkbox"/>
<div class="md-nav__link md-nav__container">
<a class="md-nav__link" href="./chapter_heap/">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path d="M12 1a2.5 2.5 0 0 0-2.5 2.5A2.5 2.5 0 0 0 11 5.79V7H7a2 2 0 0 0-2 2v.71A2.5 2.5 0 0 0 3.5 12 2.5 2.5 0 0 0 5 14.29V15H4a2 2 0 0 0-2 2v1.21A2.5 2.5 0 0 0 .5 20.5 2.5 2.5 0 0 0 3 23a2.5 2.5 0 0 0 2.5-2.5A2.5 2.5 0 0 0 4 18.21V17h4v1.21a2.5 2.5 0 0 0-1.5 2.29A2.5 2.5 0 0 0 9 23a2.5 2.5 0 0 0 2.5-2.5 2.5 2.5 0 0 0-1.5-2.29V17a2 2 0 0 0-2-2H7v-.71A2.5 2.5 0 0 0 8.5 12 2.5 2.5 0 0 0 7 9.71V9h10v.71A2.5 2.5 0 0 0 15.5 12a2.5 2.5 0 0 0 1.5 2.29V15h-1a2 2 0 0 0-2 2v1.21a2.5 2.5 0 0 0-1.5 2.29A2.5 2.5 0 0 0 15 23a2.5 2.5 0 0 0 2.5-2.5 2.5 2.5 0 0 0-1.5-2.29V17h4v1.21a2.5 2.5 0 0 0-1.5 2.29A2.5 2.5 0 0 0 21 23a2.5 2.5 0 0 0 2.5-2.5 2.5 2.5 0 0 0-1.5-2.29V17a2 2 0 0 0-2-2h-1v-.71A2.5 2.5 0 0 0 20.5 12 2.5 2.5 0 0 0 19 9.71V9a2 2 0 0 0-2-2h-4V5.79a2.5 2.5 0 0 0 1.5-2.29A2.5 2.5 0 0 0 12 1m0 1.5a1 1 0 0 1 1 1 1 1 0 0 1-1 1 1 1 0 0 1-1-1 1 1 0 0 1 1-1M6 11a1 1 0 0 1 1 1 1 1 0 0 1-1 1 1 1 0 0 1-1-1 1 1 0 0 1 1-1m12 0a1 1 0 0 1 1 1 1 1 0 0 1-1 1 1 1 0 0 1-1-1 1 1 0 0 1 1-1M3 19.5a1 1 0 0 1 1 1 1 1 0 0 1-1 1 1 1 0 0 1-1-1 1 1 0 0 1 1-1m6 0a1 1 0 0 1 1 1 1 1 0 0 1-1 1 1 1 0 0 1-1-1 1 1 0 0 1 1-1m6 0a1 1 0 0 1 1 1 1 1 0 0 1-1 1 1 1 0 0 1-1-1 1 1 0 0 1 1-1m6 0a1 1 0 0 1 1 1 1 1 0 0 1-1 1 1 1 0 0 1-1-1 1 1 0 0 1 1-1">
</path>
</svg>
<span class="md-ellipsis">
제 8 장   힙
</span>
</a>
<label class="md-nav__link" for="__nav_10" id="__nav_10_label" tabindex="0">
<span class="md-nav__icon md-icon">
</span>
</label>
</div>
<nav aria-expanded="false" aria-labelledby="__nav_10_label" class="md-nav" data-md-level="1">
<label class="md-nav__title" for="__nav_10">
<span class="md-nav__icon md-icon">
</span>
제 8 장   힙
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_heap/heap/">
<span class="md-ellipsis">
8.1   힙
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_heap/build_heap/">
<span class="md-ellipsis">
8.2   힙 구성 연산
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_heap/top_k/">
<span class="md-ellipsis">
8.3   Top-k 문제
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_heap/summary/">
<span class="md-ellipsis">
8.4   요약
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_heap/exercises/">
<span class="md-ellipsis">
8.5   연습 문제
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" id="__nav_11" type="checkbox"/>
<div class="md-nav__link md-nav__container">
<a class="md-nav__link" href="./chapter_graph/">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path d="m12 5.37-.44-.06L6 14.9c.24.21.4.48.47.78h11.06c.07-.3.23-.57.47-.78l-5.56-9.59zM6.6 16.53l4.28 2.53c.29-.27.69-.43 1.12-.43s.83.16 1.12.43l4.28-2.53zM12 22a1.68 1.68 0 0 1-1.68-1.68l.09-.56-4.3-2.55c-.31.36-.76.58-1.27.58a1.68 1.68 0 0 1-1.68-1.68c0-.79.53-1.45 1.26-1.64V9.36c-.83-.11-1.47-.82-1.47-1.68A1.68 1.68 0 0 1 4.63 6c.55 0 1.03.26 1.34.66l4.41-2.53-.06-.45c0-.93.75-1.68 1.68-1.68s1.68.75 1.68 1.68l-.06.45 4.41 2.53c.31-.4.79-.66 1.34-.66a1.68 1.68 0 0 1 1.68 1.68c0 .86-.64 1.57-1.47 1.68v5.11c.73.19 1.26.85 1.26 1.64a1.68 1.68 0 0 1-1.68 1.68c-.51 0-.96-.22-1.27-.58l-4.3 2.55.09.56A1.68 1.68 0 0 1 12 22M10.8 4.86 6.3 7.44l.02.24c0 .71-.44 1.32-1.06 1.57l.03 5.25zm2.4 0 5.51 9.64.03-5.25c-.62-.25-1.06-.86-1.06-1.57l.02-.24z">
</path>
</svg>
<span class="md-ellipsis">
제 9 장   그래프
</span>
</a>
<label class="md-nav__link" for="__nav_11" id="__nav_11_label" tabindex="0">
<span class="md-nav__icon md-icon">
</span>
</label>
</div>
<nav aria-expanded="false" aria-labelledby="__nav_11_label" class="md-nav" data-md-level="1">
<label class="md-nav__title" for="__nav_11">
<span class="md-nav__icon md-icon">
</span>
제 9 장   그래프
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_graph/graph/">
<span class="md-ellipsis">
9.1   그래프
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_graph/graph_operations/">
<span class="md-ellipsis">
9.2   그래프의 기본 연산
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_graph/graph_traversal/">
<span class="md-ellipsis">
9.3   그래프 순회
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_graph/summary/">
<span class="md-ellipsis">
9.4   요약
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_graph/exercises/">
<span class="md-ellipsis">
9.5   연습 문제
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" id="__nav_12" type="checkbox"/>
<div class="md-nav__link md-nav__container">
<a class="md-nav__link" href="./chapter_searching/">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path d="m19.31 18.9 3.08 3.1L21 23.39l-3.12-3.07c-.69.43-1.51.68-2.38.68-2.5 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5 4.5 2 4.5 4.5c0 .88-.25 1.71-.69 2.4m-3.81.1a2.5 2.5 0 0 0 0-5 2.5 2.5 0 0 0 0 5M21 4v2H3V4zM3 16v-2h6v2zm0-5V9h18v2h-2.03c-1.01-.63-2.2-1-3.47-1s-2.46.37-3.47 1z">
</path>
</svg>
<span class="md-ellipsis">
제 10 장   탐색
</span>
</a>
<label class="md-nav__link" for="__nav_12" id="__nav_12_label" tabindex="0">
<span class="md-nav__icon md-icon">
</span>
</label>
</div>
<nav aria-expanded="false" aria-labelledby="__nav_12_label" class="md-nav" data-md-level="1">
<label class="md-nav__title" for="__nav_12">
<span class="md-nav__icon md-icon">
</span>
제 10 장   탐색
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_searching/binary_search/">
<span class="md-ellipsis">
10.1   이진 탐색
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_searching/binary_search_insertion/">
<span class="md-ellipsis">
10.2   이진 탐색으로 삽입 위치 찾기
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_searching/binary_search_edge/">
<span class="md-ellipsis">
10.3   이진 탐색으로 경계 찾기
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_searching/replace_linear_by_hashing/">
<span class="md-ellipsis">
10.4   해시를 이용한 최적화 전략
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_searching/searching_algorithm_revisited/">
<span class="md-ellipsis">
10.5   탐색 알고리즘 다시 보기
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_searching/summary/">
<span class="md-ellipsis">
10.6   요약
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_searching/exercises/">
<span class="md-ellipsis">
10.7   연습 문제
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" id="__nav_13" type="checkbox"/>
<div class="md-nav__link md-nav__container">
<a class="md-nav__link" href="./chapter_sorting/">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path d="M19 17h3l-4 4-4-4h3V3h2M2 17h10v2H2M6 5v2H2V5m0 6h7v2H2z">
</path>
</svg>
<span class="md-ellipsis">
제 11 장   정렬
</span>
</a>
<label class="md-nav__link" for="__nav_13" id="__nav_13_label" tabindex="0">
<span class="md-nav__icon md-icon">
</span>
</label>
</div>
<nav aria-expanded="false" aria-labelledby="__nav_13_label" class="md-nav" data-md-level="1">
<label class="md-nav__title" for="__nav_13">
<span class="md-nav__icon md-icon">
</span>
제 11 장   정렬
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_sorting/sorting_algorithm/">
<span class="md-ellipsis">
11.1   정렬 알고리즘
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_sorting/selection_sort/">
<span class="md-ellipsis">
11.2   선택 정렬
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_sorting/bubble_sort/">
<span class="md-ellipsis">
11.3   버블 정렬
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_sorting/insertion_sort/">
<span class="md-ellipsis">
11.4   삽입 정렬
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_sorting/quick_sort/">
<span class="md-ellipsis">
11.5   퀵 정렬
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_sorting/merge_sort/">
<span class="md-ellipsis">
11.6   병합 정렬
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_sorting/heap_sort/">
<span class="md-ellipsis">
11.7   힙 정렬
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_sorting/bucket_sort/">
<span class="md-ellipsis">
11.8   버킷 정렬
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_sorting/counting_sort/">
<span class="md-ellipsis">
11.9   계수 정렬
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_sorting/radix_sort/">
<span class="md-ellipsis">
11.10   기수 정렬
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_sorting/summary/">
<span class="md-ellipsis">
11.11   요약
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_sorting/exercises/">
<span class="md-ellipsis">
11.12   연습 문제
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" id="__nav_14" type="checkbox"/>
<div class="md-nav__link md-nav__container">
<a class="md-nav__link" href="./chapter_divide_and_conquer/">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path d="M17 7v2h5V7zM2 9v6h5V9zm10 0v2H9v2h3v2l3-3zm5 2v2h5v-2zm0 4v2h5v-2z">
</path>
</svg>
<span class="md-ellipsis">
제 12 장   분할 정복
</span>
</a>
<label class="md-nav__link" for="__nav_14" id="__nav_14_label" tabindex="0">
<span class="md-nav__icon md-icon">
</span>
</label>
</div>
<nav aria-expanded="false" aria-labelledby="__nav_14_label" class="md-nav" data-md-level="1">
<label class="md-nav__title" for="__nav_14">
<span class="md-nav__icon md-icon">
</span>
제 12 장   분할 정복
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_divide_and_conquer/divide_and_conquer/">
<span class="md-ellipsis">
12.1   분할 정복 알고리즘
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_divide_and_conquer/binary_search_recur/">
<span class="md-ellipsis">
12.2   분할 정복 탐색 전략
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_divide_and_conquer/build_binary_tree_problem/">
<span class="md-ellipsis">
12.3   이진 트리 구성 문제
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_divide_and_conquer/hanota_problem/">
<span class="md-ellipsis">
12.4   하노이의 탑 문제
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_divide_and_conquer/summary/">
<span class="md-ellipsis">
12.5   요약
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_divide_and_conquer/exercises/">
<span class="md-ellipsis">
12.6   연습 문제
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" id="__nav_15" type="checkbox"/>
<div class="md-nav__link md-nav__container">
<a class="md-nav__link" href="./chapter_backtracking/">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path d="M18 15a3 3 0 0 1 3 3 3 3 0 0 1-3 3 2.99 2.99 0 0 1-2.83-2H14v-2h1.17c.41-1.17 1.52-2 2.83-2m0 2a1 1 0 0 0-1 1 1 1 0 0 0 1 1 1 1 0 0 0 1-1 1 1 0 0 0-1-1m0-9a1.43 1.43 0 0 0 1.43-1.43 1.43 1.43 0 1 0-2.86 0A1.43 1.43 0 0 0 18 8m0-5.43a4 4 0 0 1 4 4C22 9.56 18 14 18 14s-4-4.44-4-7.43a4 4 0 0 1 4-4M8.83 17H10v2H8.83A2.99 2.99 0 0 1 6 21a3 3 0 0 1-3-3c0-1.31.83-2.42 2-2.83V14h2v1.17c.85.3 1.53.98 1.83 1.83M6 17a1 1 0 0 0-1 1 1 1 0 0 0 1 1 1 1 0 0 0 1-1 1 1 0 0 0-1-1M6 3a3 3 0 0 1 3 3c0 1.31-.83 2.42-2 2.83V10H5V8.83A2.99 2.99 0 0 1 3 6a3 3 0 0 1 3-3m0 2a1 1 0 0 0-1 1 1 1 0 0 0 1 1 1 1 0 0 0 1-1 1 1 0 0 0-1-1m5 14v-2h2v2zm-4-6H5v-2h2z">
</path>
</svg>
<span class="md-ellipsis">
제 13 장   백트래킹
</span>
</a>
<label class="md-nav__link" for="__nav_15" id="__nav_15_label" tabindex="0">
<span class="md-nav__icon md-icon">
</span>
</label>
</div>
<nav aria-expanded="false" aria-labelledby="__nav_15_label" class="md-nav" data-md-level="1">
<label class="md-nav__title" for="__nav_15">
<span class="md-nav__icon md-icon">
</span>
제 13 장   백트래킹
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_backtracking/backtracking_algorithm/">
<span class="md-ellipsis">
13.1   백트래킹 알고리즘
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_backtracking/permutations_problem/">
<span class="md-ellipsis">
13.2   모든 순열 문제
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_backtracking/subset_sum_problem/">
<span class="md-ellipsis">
13.3   부분 집합 합 문제
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_backtracking/n_queens_problem/">
<span class="md-ellipsis">
13.4   n-퀸 문제
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_backtracking/summary/">
<span class="md-ellipsis">
13.5   요약
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_backtracking/exercises/">
<span class="md-ellipsis">
13.6   연습 문제
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" id="__nav_16" type="checkbox"/>
<div class="md-nav__link md-nav__container">
<a class="md-nav__link" href="./chapter_dynamic_programming/">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path d="M22 15h-2v3c0 1.11-.89 2-2 2h-3v2l-3-3 3-3v2h3v-3h-2l3-3zm0-11v4c0 1.1-.9 2-2 2H10v10c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h16c1.1 0 2 .9 2 2M4 8h4V4H4zm0 2v4h4v-4zm4 10v-4H4v4zm6-12V4h-4v4zm6-4h-4v4h4z">
</path>
</svg>
<span class="md-ellipsis">
제 14 장   동적 계획법
</span>
</a>
<label class="md-nav__link" for="__nav_16" id="__nav_16_label" tabindex="0">
<span class="md-nav__icon md-icon">
</span>
</label>
</div>
<nav aria-expanded="false" aria-labelledby="__nav_16_label" class="md-nav" data-md-level="1">
<label class="md-nav__title" for="__nav_16">
<span class="md-nav__icon md-icon">
</span>
제 14 장   동적 계획법
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_dynamic_programming/intro_to_dynamic_programming/">
<span class="md-ellipsis">
14.1   동적 계획법 첫걸음
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_dynamic_programming/dp_problem_features/">
<span class="md-ellipsis">
14.2   동적 계획법 문제의 특성
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_dynamic_programming/dp_solution_pipeline/">
<span class="md-ellipsis">
14.3   동적 계획법 문제 풀이 방법
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_dynamic_programming/knapsack_problem/">
<span class="md-ellipsis">
14.4   0-1 배낭 문제
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_dynamic_programming/unbounded_knapsack_problem/">
<span class="md-ellipsis">
14.5   무한 배낭 문제
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_dynamic_programming/edit_distance_problem/">
<span class="md-ellipsis">
14.6   편집 거리 문제
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_dynamic_programming/summary/">
<span class="md-ellipsis">
14.7   요약
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_dynamic_programming/exercises/">
<span class="md-ellipsis">
14.8   연습 문제
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" id="__nav_17" type="checkbox"/>
<div class="md-nav__link md-nav__container">
<a class="md-nav__link" href="./chapter_greedy/">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path d="M13 3c3.88 0 7 3.14 7 7 0 2.8-1.63 5.19-4 6.31V21H9v-3H8c-1.11 0-2-.89-2-2v-3H4.5c-.42 0-.66-.5-.42-.81L6 9.66A7.003 7.003 0 0 1 13 3m0-2C8.41 1 4.61 4.42 4.06 8.9L2.5 11h-.03l-.02.03c-.55.76-.62 1.76-.19 2.59.36.69 1 1.17 1.74 1.32V16c0 1.85 1.28 3.42 3 3.87V23h11v-5.5c2.5-1.67 4-4.44 4-7.5 0-4.97-4.04-9-9-9m4 7.83c0 1.54-1.36 2.77-3.42 4.64L13 14l-.58-.53C10.36 11.6 9 10.37 9 8.83c0-1.2.96-2.19 2.16-2.2h.04c.69 0 1.35.31 1.8.83.45-.52 1.11-.83 1.8-.83 1.2-.01 2.2.96 2.2 2.16z">
</path>
</svg>
<span class="md-ellipsis">
제 15 장   탐욕
</span>
</a>
<label class="md-nav__link" for="__nav_17" id="__nav_17_label" tabindex="0">
<span class="md-nav__icon md-icon">
</span>
</label>
</div>
<nav aria-expanded="false" aria-labelledby="__nav_17_label" class="md-nav" data-md-level="1">
<label class="md-nav__title" for="__nav_17">
<span class="md-nav__icon md-icon">
</span>
제 15 장   탐욕
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_greedy/greedy_algorithm/">
<span class="md-ellipsis">
15.1   탐욕 알고리즘
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_greedy/fractional_knapsack_problem/">
<span class="md-ellipsis">
15.2   분할 가능한 배낭 문제
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_greedy/max_capacity_problem/">
<span class="md-ellipsis">
15.3   최대 용량 문제
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_greedy/max_product_cutting_problem/">
<span class="md-ellipsis">
15.4   정수 분할의 최대 곱 문제
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_greedy/summary/">
<span class="md-ellipsis">
15.5   요약
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_greedy/exercises/">
<span class="md-ellipsis">
15.6   연습 문제
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" id="__nav_18" type="checkbox"/>
<div class="md-nav__link md-nav__container">
<a class="md-nav__link" href="./chapter_appendix/">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path d="M11 18h2v-2h-2zm1-16A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-14a4 4 0 0 0-4 4h2a2 2 0 0 1 2-2 2 2 0 0 1 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5a4 4 0 0 0-4-4">
</path>
</svg>
<span class="md-ellipsis">
제 16 장   부록
</span>
</a>
<label class="md-nav__link" for="__nav_18" id="__nav_18_label" tabindex="0">
<span class="md-nav__icon md-icon">
</span>
</label>
</div>
<nav aria-expanded="false" aria-labelledby="__nav_18_label" class="md-nav" data-md-level="1">
<label class="md-nav__title" for="__nav_18">
<span class="md-nav__icon md-icon">
</span>
제 16 장   부록
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_appendix/installation/">
<span class="md-ellipsis">
16.1   프로그래밍 환경 설치
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_appendix/contribution/">
<span class="md-ellipsis">
16.2   함께 만드는 책
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_appendix/terminology/">
<span class="md-ellipsis">
16.3   용어집
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" id="__nav_19" type="checkbox"/>
<div class="md-nav__link md-nav__container">
<a class="md-nav__link" href="./chapter_reference/">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path d="M9 3v15h3V3zm3 2 4 13 3-1-4-13zM5 5v13h3V5zM3 19v2h18v-2z">
</path>
</svg>
<span class="md-ellipsis">
참고 문헌
</span>
</a>
</div>
<nav aria-expanded="false" aria-labelledby="__nav_19_label" class="md-nav" data-md-level="1">
<label class="md-nav__title" for="__nav_19">
<span class="md-nav__icon md-icon">
</span>
참고 문헌
</label>
<ul class="md-nav__list" data-md-scrollfix="">
</ul>
</nav>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" hidden="">
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav aria-label="목차" class="md-nav md-nav--secondary">
</nav>
</div>
</div>
</div>
<div class="md-content" data-md-component="content">
<article class="md-content__inner md-typeset">
<nav aria-label="하단/푸터" class="md-footer__inner md-grid">
</nav>
</article>
</div>
<script>
var tabs=__md_get("__tabs");if(Array.isArray(tabs))e:for(var set of document.querySelectorAll(".tabbed-set")){var labels=set.querySelector(".tabbed-labels");for(var tab of tabs)for(var label of labels.getElementsByTagName("label"))if(label.innerText.trim()===tab){var input=document.getElementById(label.htmlFor);input.checked=!0;continue e}}
</script>
<script>
var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))
</script>
</div>
</main>
<footer class="md-footer">
<div class="md-footer-meta md-typeset">
<div class="md-footer-meta__inner md-grid">
<div class="md-copyright">
<div class="md-copyright__highlight">
저작권 © 2026 krahets
<br/>
웹사이트 콘텐츠에는
<a href="https://creativecommons.org/licenses/by-nc-sa/4.0/">
CC BY-NC-SA 4.0
</a>
라이선스가 적용된다
</div>
</div>
<div class="md-social">
<a class="md-social__link" href="https://github.com/krahets" rel="noopener" target="_blank" title="github.com">
<svg viewbox="0 0 512 512" xmlns="http://www.w3.org/2000/svg">
<!--! Font Awesome Free 7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2026 Fonticons, Inc.-->
<path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2" fill="currentColor">
</path>
</svg>
</a>
<a class="md-social__link" href="https://twitter.com/krahets" rel="noopener" target="_blank" title="twitter.com">
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg">
<!--! Font Awesome Free 7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2026 Fonticons, Inc.-->
<path d="M357.2 48h70.6L273.6 224.2 455 464H313L201.7 318.6 74.5 464H3.8l164.9-188.5L-5.2 48h145.6l100.5 132.9zm-24.8 373.8h39.1L119.1 88h-42z" fill="currentColor">
</path>
</svg>
</a>
<a class="md-social__link" href="https://leetcode.cn/u/jyd/" rel="noopener" target="_blank" title="leetcode.cn">
<svg viewbox="0 0 576 512" xmlns="http://www.w3.org/2000/svg">
<!--! Font Awesome Free 7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2026 Fonticons, Inc.-->
<path d="M360.8 1.2c-17-4.9-34.7 5-39.6 22l-128 448c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l128-448c4.9-17-5-34.7-22-39.6m64.6 136.1c-12.5 12.5-12.5 32.8 0 45.3l73.4 73.4-73.4 73.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0zm-274.7 0c-12.5-12.5-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256l73.3-73.4c12.5-12.5 12.5-32.8 0-45.3z" fill="currentColor">
</path>
</svg>
</a>
</div>
</div>
</div>
</footer>
</div>
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset">
</div>
</div>
<script id="__config" type="application/json">
{"annotate":null,"base":"./","features":["content.action.edit","content.code.annotate","content.code.copy","content.tabs.link","content.tooltips","navigation.indexes","navigation.tracking","search.highlight","search.share","search.suggest","toc.follow"],"search":"./assets/javascripts/workers/search.b6b7e04f.min.js","tags":null,"translations":{"clipboard.copied":"클립보드에 복사됨","clipboard.copy":"클립보드로 복사","search.result.more.one":"이 문서에서 1개의 검색 결과 더 보기","search.result.more.other":"이 문서에서 #개의 검색 결과 더 보기","search.result.none":"검색어와 일치하는 문서가 없습니다","search.result.one":"1개의 일치하는 문서","search.result.other":"#개의 일치하는 문서","search.result.placeholder":"검색어를 입력하세요","search.result.term.missing":"포함되지 않은 검색어","select.version":"버전 선택"},"version":null}
</script>
<script src="./assets/javascripts/bundle.ccde26d79129f886e2700a766aa45ca60a55d9d9d83894824e7708f702b2c83a.min.js">
</script>
<script src="./javascripts/mathjax.js">
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/3.2.2/es5/tex-mml-chtml.min.js">
</script>
<script src="./javascripts/animation_player.js">
</script>
<script>
(() => {
const applyLandingPalette = () => {
if (!document.querySelector('.md-header--landing')) return;
document.body.setAttribute('data-md-color-scheme', 'slate');
document.body.setAttribute('data-md-color-primary', 'black');
document.body.setAttribute('data-md-color-accent', 'teal');
};
applyLandingPalette();
document.addEventListener('DOMContentLoaded', applyLandingPalette, { once: true });
})();
</script>
<script data-home-scene="" src="../assets/home/ad8bb1cc4c28091c/javascripts/starfield.js">
</script>
<script>
Starfield.setup({
starColor: "rgb(186, 228, 224)",
canvasColor: "rgb(30, 30, 30)",
numStars: 700,
hueJitter: 120,
trailLength: 0.5,
baseSpeed: 0.7,
maxAcceleration: 2,
accelerationRate: 0.05,
decelerationRate: 0.05,
minSpawnRadius: 80,
maxSpawnRadius: 500
});
</script>
</body>
</html>