PageSourceSearch

https://rookedsysc.vercel.app/_next/static/chunks/pages/algorithm/…/python/stock-price-8028a984998cc06a.js

js rookedsysc.vercel.app collected 2026-10-03 07:40:58 UTC 113,991 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[66966],{65365:function(e,a,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/algorithm/programmers/python/stock-price",function(){return n(49428)}])},49428:function(e,a,n){"use strict";n.r(a),n.d(a,{__toc:function(){return l}});var t=n(85893),o=n(92673),r=n(37320),i=n(39812);n(16719),n(46834);var s=n(82643);let l=[{depth:2,value:"문제 Link",id:"문제-link"},{depth:2,value:"풀이",id:"풀이"},{depth:3,value:"Brute Force",id:"brute-force"},{depth:3,value:"Stack",id:"stack"},{depth:2,value:"내 풀이(틀린거)",id:"내-풀이틀린거"},{depth:3,value:"1",id:"1"},{depth:3,value:"2",id:"2"}];function _createMdxContent(e){let a=Object.assign({h2:"h2",p:"p",a:"a",h3:"h3",del:"del",pre:"pre",code:"code",span:"span"},(0,s.a)(),e.components);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(a.h2,{id:"문제-link",children:"문제 Link"}),"\n",(0,t.jsx)(a.p,{children:(0,t.jsx)(a.a,{href:"https://school.programmers.co.kr/learn/courses/30/lessons/42584",children:"https://school.programmers.co.kr/learn/courses/30/lessons/42584"})}),"\n",(0,t.jsx)(a.h2,{id:"풀이",children:"풀이"}),"\n",(0,t.jsx)(a.h3,{id:"brute-force",children:"Brute Force"}),"\n",(0,t.jsxs)(a.p,{children:["내가 원하던 풀이 방법이 이거였는데 이거마저도 못풀었다는게 너무 ",(0,t.jsx)(a.del,{children:"자괴감들고 괴롭다."})]}),"\n",(0,t.jsx)(a.pre,{"data-language":"python","data-theme":"default",hasCopyCode:!0,children:(0,t.jsxs)(a.code,{"data-line-numbers":"","data-language":"python","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"def"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-function)"},children:"solution"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-parameter)"},children:"prices"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"):"})]}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"  answer "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"["}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"] "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-function)"},children:"len"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"(prices)"})]}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"  "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"for"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" i "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"in"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-function)"},children:"range"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"("}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-function)"},children:"len"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"(prices)):"})]}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"    "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"for"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" j "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"in"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-function)"},children:"range"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"(i"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:", "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-function)"},children:"len"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"(prices)):"})]}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"      "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" prices"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"["}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"i"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"]"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" prices"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"["}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"j"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"]:"})]}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"        answer"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"["}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"i"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"]"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"+="}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-constant)"},children:"1"})]}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"      "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"})]}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"        answer"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"["}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"i"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"]"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"+="}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-constant)"},children:"1"})]}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"        "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"break"})]}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"  "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" answer"})]})]})}),"\n",(0,t.jsx)(a.h3,{id:"stack",children:"Stack"}),"\n",(0,t.jsx)(a.pre,{"data-language":"python","data-theme":"default",hasCopyCode:!0,children:(0,t.jsxs)(a.code,{"data-line-numbers":"","data-language":"python","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" collections "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" deque"})]}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"def"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-function)"},children:"solution"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-parameter)"},children:"prices"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"):"})]}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"  answer "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" []"})]}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"  prices "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-function)"},children:"deque"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"(prices)"})]}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"  "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"while"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" prices"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"})]}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"    c "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" prices"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"."}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-function)"},children:"popleft"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"}
1,children:"()"})]}),"\n",(0,t.jsx)(a.span,{className:"line",children:" "}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"    count "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-constant)"},children:"0"})]}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"    "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"for"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" i "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"in"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" prices"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"})]}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"      "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" c "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:">"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" i"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"})]}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"        count "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"+="}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-constant)"},children:"1"})]}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"        "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"break"})]}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"      count "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"+="}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-constant)"},children:"1"})]}),"\n",(0,t.jsx)(a.span,{className:"line",children:" "}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"    answer"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"."}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-function)"},children:"append"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"(count)"})]}),"\n",(0,t.jsx)(a.span,{className:"line",children:" "}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"  "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" answer"})]})]})}),"\n",(0,t.jsx)(a.h2,{id:"내-풀이틀린거",children:"내 풀이(틀린거)"}),"\n",(0,t.jsx)(a.h3,{id:"1",children:"1"}),"\n",(0,t.jsx)(a.pre,{"data-language":"python","data-theme":"default",hasCopyCode:!0,children:(0,t.jsxs)(a.code,{"data-line-numbers":"","data-language":"python","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"def"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-function)"},children:"solution"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-parameter)"},children:"prices"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:") :"})]}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"  pl "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-function)"},children:"len"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"(prices)"})]}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"  stack "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" []"})]}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"  ans "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" ["}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"] "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" pl"})]}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"  out "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-constant)"},children:"0"})]}),"\n",(0,t.jsx)(a.span,{className:"line",children:(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"  "})}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"  "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"for"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" i "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"in"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-function)"},children:"range"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"(pl)"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "})]}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"    sl "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-function)"},children:"len"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"(stack)"})]}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"    tmp "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-constant)"},children:"0"})]}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"    "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"while"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" sl "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"!="}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"and"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" stack"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"["}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"sl "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"]"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:">"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" prices"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"["}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"i"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"]"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "})]}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"      stack"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"."}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-function)"},children:"pop"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"}
1,children:"()"})]}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"      tmp "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"+="}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-constant)"},children:"1"})]}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"      ans"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"["}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"i "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" tmp "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" out"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"]"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" tmp "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" out"})]}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"      sl "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-function)"},children:"len"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"(stack)"})]}),"\n",(0,t.jsx)(a.span,{className:"line",children:" "}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"    stack"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"."}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-function)"},children:"append"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"(prices[i])"})]}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"    out "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" tmp"})]}),"\n",(0,t.jsx)(a.span,{className:"line",children:(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"    "})}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"  "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"for"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" i "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"in"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-function)"},children:"range"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"("}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-function)"},children:"len"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"(ans))"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "})]}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"    "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" ans"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"["}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"i"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"]"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"=="}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "})]}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"      ans"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"["}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"i"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"]"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-function)"},children:"len"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"(ans)"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" i "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-constant)"},children:"1"})]}),"\n",(0,t.jsx)(a.span,{className:"line",children:(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"    "})}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"  "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" ans"})]})]})}),"\n",(0,t.jsx)(a.h3,{id:"2",children:"2"}),"\n",(0,t.jsx)(a.pre,{"data-language":"python","data-theme":"default",hasCopyCode:!0,children:(0,t.jsxs)(a.code,{"data-line-numbers":"","data-language":"python","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"def"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-function)"},children:"solution"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-parameter)"},children:"prices"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:") :"})]}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"  pl "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-function)"},children:"len"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"(prices)"})]}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"  ans "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" ["}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"] "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" pl"})]}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"  stack "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" []"})]}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"  out "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-constant)"},children:"0"})]}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"  bottom "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-constant)"},children:"0"})]}),"\n",(0,t.jsx)(a.span,{className:"line",children:(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"  "})}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"  "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"for"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" cpi "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"in"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-function)"},children:"range"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"(pl)"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "})]}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"    sl "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-function)"},children:"len"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"(stack)"})]}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"    "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"while"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" sl "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"!="}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"and"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" stack"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"["}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"sl "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"]"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:">"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" prices"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"["}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"cpi"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"]"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "})]}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"      stack"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"."}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-function)"},children:"pop"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"}
1,children:"()"})]}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"      out "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"+="}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-constant)"},children:"1"})]}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"      sl "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-function)"},children:"len"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"(stack)"})]}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"    "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" sl "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"=="}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "})]}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"      bottom "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" cpi"})]}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"    stack"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"."}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-function)"},children:"append"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"(prices[cpi])"})]}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"    sl "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-function)"},children:"len"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"(stack)"})]}),"\n",(0,t.jsx)(a.span,{className:"line",children:(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"      "})}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"    "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"for"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"in"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-function)"},children:"range"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"(sl)"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"})]}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"      ans"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"["}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"bottom "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" x"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"]"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" ans"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"["}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"bottom "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" x"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-punctuation)"},children:"]"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-constant)"},children:"1"})]}),"\n",(0,t.jsx)(a.span,{className:"line",children:(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"      "})}),"\n",(0,t.jsxs)(a.span,{className:"line",children:[(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:"  "}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,t.jsx)(a.span,{style:{color:"var(--shiki-color-text)"},children:" ans"})]})]})})]})}let d={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:a}=Object.assign({},(0,s.a)(),e.components);return a?(0,t.jsx)(a,{...e,children:(0,t.jsx)(_createMdxContent,{...e})}):_createMdxContent(e)},pageOpts:{filePath:"pages/algorithm/programmers/python/stock-price.mdx",route:"/algorithm/programmers/python/stock-price",pageMap:[{kind:"Meta",data:{"java-and-spring":{type:"page",title:"Spring"},etc:{type:"page",title:"Etc Programming"},algorithm:{type:"page",title:"Algorithm"},theory:{type:"page",title:"Theory"},"js-framework":{type:"page",title:"Node"},docs:{type:"page",title:"Docs"},blog:{type:"page",title:"Blog"},index:{type:"page",title:"Introduce"}}},{kind:"Folder",name:"algorithm",route:"/algorithm",children:[{kind:"Meta",data:{"search-algorithm-complete-guide":"탐색 알고리즘 완전 정복",lcs:"LCS","prefix-sum":"누적합",comb
1ination:"조합과 순열","sleve-of-eratosthenes":"에라토스테네스의 체",backtracking:"백트래킹","python-grammar":"파이썬 문법",list:"List",queue:"큐와 스택","hash-table":"해시 테이블",tree:"트리",graph:"그래프",dp:"Dynamic Programming",dijkstra:"Dijkstra",mst:"MST",sort:"정렬",search:"탐색",leetcode:"LeetCode",baekjoon:"백준",programmers:"프로그래머스",codetree:"코드트리",custom:"창작문제","next-step":"Next Step"}},{kind:"MdxPage",name:"backtracking",route:"/algorithm/backtracking"},{kind:"Folder",name:"baekjoon",route:"/algorithm/baekjoon",children:[{kind:"MdxPage",name:"13397",route:"/algorithm/baekjoon/13397"},{kind:"MdxPage",name:"15650",route:"/algorithm/baekjoon/15650"},{kind:"MdxPage",name:"1937",route:"/algorithm/baekjoon/1937"},{kind:"Meta",data:{1937:"욕심쟁이 판다",13397:"구간 나누기 2",15650:"N과 M (2)",python:"Python"}},{kind:"Folder",name:"python",route:"/algorithm/baekjoon/python",children:[{kind:"MdxPage",name:"1003",route:"/algorithm/baekjoon/python/1003"},{kind:"MdxPage",name:"1005",route:"/algorithm/baekjoon/python/1005"},{kind:"MdxPage",name:"1107",route:"/algorithm/baekjoon/python/1107"},{kind:"MdxPage",name:"1157",route:"/algorithm/baekjoon/python/1157"},{kind:"MdxPage",name:"1197",route:"/algorithm/baekjoon/python/1197"},{kind:"MdxPage",name:"12100",route:"/algorithm/baekjoon/python/12100"},{kind:"MdxPage",name:"13460",route:"/algorithm/baekjoon/python/13460"},{kind:"MdxPage",name:"14890",route:"/algorithm/baekjoon/python/14890"},{kind:"MdxPage",name:"14891",route:"/algorithm/baekjoon/python/14891"},{kind:"MdxPage",name:"15684",route:"/algorithm/baekjoon/python/15684"},{kind:"MdxPage",name:"15685",route:"/algorithm/baekjoon/python/15685"},{kind:"MdxPage",name:"16234",route:"/algorithm/baekjoon/python/16234"},{kind:"MdxPage",name:"1654",route:"/algorithm/baekjoon/python/1654"},{kind:"MdxPage",name:"1697",route:"/algorithm/baekjoon/python/1697"},{kind:"MdxPage",name:"1931",route:"/algorithm/baekjoon/python/1931"},{kind:"MdxPage",name:"2579",route:"/algorithm/baekjoon/python/2579"},{kind:"MdxPage",name:"2839",route:"/algorithm/baekjoon/python/2839"},{kind:"Meta",data:{1003:"피보나치 함수",1005:"ACM Craft",1107:"리모컨",1157:"단어 공부",1197:"최소 스패닝 트리",1654:"랜선 자르기",1697:"숨바꼭질",1931:"회의실 배정",2579:"계단 오르기",2839:"설탈 배달",12100:"2048 (Easy)",13460:"구슬 탈출 2",14890:"경사로",14891:"톱니 바퀴",15684:"사다리 조작",15685:"드래곤 커브",16234:"인구이동","baek-joon":"백준 사용법"}},{kind:"MdxPage",name:"baek-joon",route:"/algorithm/baekjoon/python/baek-joon"}]}]},{kind:"Folder",name:"codetree",route:"/algorithm/codetree",children:[{kind:"Meta",data:{"doubling-sequence-solution":"두 배까지 커지는 수열","calculating-change":"거스름돈 계산하기"}},{kind:"MdxPage",name:"calculating-change",route:"/algorithm/codetree/calculating-change"},{kind:"MdxPage",name:"doubling-sequence-solution",route:"/algorithm/codetree/doubling-sequence-solution"}]},{kind:"MdxPage",name:"combination",route:"/algorithm/combination"},{kind:"Folder",name:"custom",route:"/algorithm/custom",children:[{kind:"Meta",data:{"binary-conversion":"2진수 변환"}},{kind:"MdxPage",name:"binary-conversion",route:"/algorithm/custom/binary-conversion"}]},{kind:"MdxPage",name:"dijkstra",route:"/algorithm/dijkstra"},{kind:"MdxPage",name:"dp",route:"/algorithm/dp"},{kind:"MdxPage",name:"graph",route:"/algorithm/graph"},{kind:"MdxPage",name:"hash-table",route:"/algorithm/hash-table"},{kind:"MdxPage",name:"lcs",route:"/algorithm/lcs"},{kind:"Folder",name:"leetcode",route:"/algorithm/leetcode",children:[{kind:"MdxPage",name:"3sum",route:"/algorithm/leetcode/3sum"},{kind:"Meta",data:{java:"Java","n-queen":"N-Queen","extra-leetcode":"맞춘 문제들","valid-palindrome":"유효한 팰린드롬(자바)",candy:"Candy","network-delay":"Network Delay Time","lowest-common-ancestor":"가장 작은 조상","maximum-depth-of-binary-tree":"최대깊이","trapping-rain-water":"빗물 트래핑(틀림)","3sum":"세 수의 합(틀림)","product-of-array-except-self":"자신 제외 모든 곱(틀림)","add-two-numbers":"Add Two Numbers","number-of-islands":"Number of Islands(틀림)","shortest-path-in-binary-matrix":"Shortest Path in Binary Matrix(틀림)","climbing-stairs":"Climbing Stairs(틀림)","number-of-island":"Number of Island"}},{kind:"MdxPage",name:"add-two-numbers",route:"/algorithm/leetcode/add-two-numbers"},{kind:"MdxPage",name:"candy",route:"/algorithm/leetcode/candy"},{kind:"MdxPage",name:"climbing-stairs",route:"/algorithm/leetcode/climbing-stairs"},{kind:"MdxPage",name:"extra-leetcode",route:"/algorithm/leetcode/extra-leetcode"},{kind:"Folder",name:"java",route:"/algorithm/leetcode/java",children:[{kind:"Meta",data:{"longest-palindromic-substring":"가장 긴 팰린드롬 부분 문자열","group-anagrams":"그룹 애너그램","most-common-word":"가장 흔한 단어"}},{kind:"MdxPage",name:"group-anagrams",route:"/algorithm/leetcode/java/group-anagrams"},{kind:"MdxPage",name:"longest-palindromic-substring",route:"/algorithm/leetcode/java/longest-palindromic-substring"},{kind:"MdxPage",name:"most-common-word",route:"/algorithm/leetcode/java/most-common-word"}]},{kind:"MdxPage",name:"lowest-common-ancestor",route:"/algorithm/leetcode/lowest-common-ancestor"},{kind:"MdxPage",name:"maximum-depth-of-binary-tree",route:"/algorithm/leetcode/maximum-depth-of-binary-tree"},{kind:"MdxPage",name:"n-queen",route:"/algorithm/leetcode/n-queen"},{kind:"MdxPage",name:"network-delay",route:"/algorithm/leetcode/network-delay"},{kind:"MdxPage",name:"number-of-island",route:"/algorithm/leetcode/number-of-island"},{kind:"MdxPage",name:"product-of-array-except-self",route:"/algorithm/leetcode/product-of-array-except-self"},{kind:"MdxPage",name:"shortest-path-in-binary-matrix",route:"/algorithm/leetcode/shortest-path-in-binary-matrix"},{kind:"MdxPage",name:"trapping-rain-water",route:"/algorithm/leetcode/trapping-rain-water"},{kind:"MdxPage",name:"valid-palindrome",route:"/algorithm/leetcode/valid-palindrome"}]},{kind:"MdxPage",name:"list",route:"/algorithm/list"},{kind:"MdxPage",name:"mst",route:"/algorithm/mst"},{kind:"MdxPage",name:"next-step",route:"/algorithm/next-step"},{kind:"MdxPage",name:"prefix-sum",route:"/algorithm/prefix-sum"},{kind:"Folder",name:"programmers",route:"/algorithm/programmers",children:[{kind:"Meta",data:{java:"Java",python:"Python",sql:"SQL"}},{kind:"Folder",name:"java",route:"/algorithm/programmers/java",children:[{kind:"MdxPage",name:"12949",route:"/algorithm/programmers/java/12949"},{kind:"MdxPage",name:"150368",route:"/algorithm/programmers/java/150368"},{kind:"MdxPage",name:"17681",route:"/algorithm/programmers/java/17681"},{kind:"MdxPage",name:"17686",route:"/algorithm/programmers/java/17686"},{kind:"MdxPage",name:"42579",route:"/algorithm/programmers/java/42579"},{kind:"MdxPage",name:"42584",route:"/algorithm/programmers/java/42584"},{kind:"MdxPage",name:"42586",route:"/algorithm/programmers/java/42586"},{kind:"MdxPage",name:"42746",route:"/algorithm/programmers/java/42746"},{kind:"MdxPage",name:"42840",route:"/algorithm/programmers/java/42840"},{kind:"MdxPage",name:"42890",route:"/algorithm/programmers/java/42890"},{kind:"MdxPage",name:"60057",route:"/algorithm/programmers/java/60057"},{kind:"MdxPage",name:"64065",route:"/algorithm/programmers/java/64065"},{kind:"MdxPage",name:"67257",route:"/algorithm/programmers/java/67257"},{kind:"MdxPage",name:"68644",route:"/algorithm/programmers/java/68644"},{kind:"MdxPage",name:"72411",route:"/algorithm/programmers/java/72411"},{kind:"MdxPage",name:"72412",route:"/algorithm/programmers/java/72412"},{kind:"MdxPage",name:"76502",route:"/algorithm/programmers/java/76502"},{kind:"MdxPage",name:"81302",route:"/algorithm/programmers/java/81302"},{kind:"MdxPage",name:"81303",route:"/algorithm/programmers/java/81303"},{kind:"MdxPage",name:"92335",route:"/algorithm/programmers/java/92335"},{kind:"MdxPage",name:"92341",route:"/algorithm/programmers/java/92341"},{kind:"MdxPage",name:"92342",route:"/algorithm/programmers/java/92342"},{kind:"Meta",data:{12949:"행렬의 곱셈",17681:"비밀 지도",17686:"파일명 정렬",42579:"베스트 앨범",42584:"주식가격",42586:"기능개발",42746:"가장 큰 수",42840:"모의고사",42890:"후보키",60057:"문자열 압축",64065:"튜플",67257:"수식 최대화",68644:"두 개 뽑아서 더하기",72411:"메뉴 리뉴얼",72412:"순위 검색",76502:"괄호 회전하기",81302:"거리두기 확인하기",81303:"표 편집",92335:"k진수에서 소수 개수 구하기",92341:"주차 요금 계산",92342:"양궁대회",150368:"이모티콘 할인행사","failure-rate":"실패율","correct-parentheses":"올바른 괄호"}},{kind:"MdxPage",name:"correct-parentheses",route:"/algorithm/programmers/java/correct-parentheses"},{kind:"MdxPage",name:"failure-rate",route:"/algorithm/programmers/java/failure-rate"}]},{kind:"Folder",name:"python",route:"/algorithm/programmers/python",children:[{kind:"MdxPage",name:"118667",route:"/algorithm/programmers/python/118667"},{kind:"Meta",data:{118667:"두 큐의 합 같게 만들기","dart-game":"다트 게임","failure-rate":"실패율","press-keypad":"키패드 누르기","recommend-newid":"신규 아이디 추천",receiving_report_results:"신고 결과 받기","get-item":"아이템 줍기","donuts-and-bar-graphs":"도넛 차트와 막대 그래프","crossing-the-stepping-bridge":"징검다리 건너기","pccp-1":"PCCP 1번 붕대감기","personality-type-test":"성격 유형 검사","numeric-characters-and-english-word":"숫자 문자열과 영단어","delivery-and-collection-of-packages":"택배 배달과 수거하기","matrices-and-operations":"행렬과 연산","target-number":"타겟넘버",phoneketmon:"폰켓몬","phone-book":"전화번호 목록","the-largest-number":"가장 큰 수",process:"프로세스","stock-price":"주식 가격","mock-test":"모의고사","functional-development":"기능개발","programmers-etc":"Programmers Etc","receiving-report-results":"Receiving Report Results"}},{kind:"MdxPage",name:"crossing-the-stepping-bridge",route:"/algorithm/programmers/python/crossing-the-stepping-bridge"},{kind:"MdxPage",name:"dart-game",route:"/algorithm/programmers/python/dart-game"},{kind:"MdxPage",name:"delivery-and-collection-of-packages",route:"/algorithm/programmers/python/delivery-and-collection-of-packages"},{kind:"MdxPage",name:"donuts-and-bar-graphs",route:"/algorithm/programmers/python/donuts-and-bar-graphs"},{kind:"MdxPage",name:"failure-rate",route:"/algorithm/programmers/python/failure-rate"},{kind:"MdxPage",name:"functional-development",route:"/algorithm/programmers/python/functional-development"},{kind:"MdxPage",name:"get-item",route:"/algorithm/programmers/python/get-item"},{kind:"MdxPage",name:"matrices-and-operations",route:"/algorithm/programmers/python/matrices-and-operations"},{kind:"MdxPage",name:"mock-test",route:"/algorithm/programmers/python/mock-test"},{kind:"MdxPage",name:"numeric-characters-and-english-word",route:"/algorithm/programmers/python/numeric-characters-and-english-word"},{kind:"MdxPage",name:"pccp-1",route:"/algorithm/programmers/python/pccp-1"},{kind:"MdxPage",name:"personality-type-test",route:"/algorithm/programmers/python/personality-type-test"},{kind:"MdxPage",name:"phone-book",route:"/algorithm/programmers/python/phone-book"},{kind:"MdxPage",name:"phoneketmon",route:"/algorithm/programmers/python/phoneketmon"},{kind:"MdxPage",name:"press-keypad",route:"/algorithm/programmers/python/press-keypad"},{kind:"MdxPage",name:"process",route:"/algorithm/programmers/python/process"},{kind:"MdxPage",name:"programmers-etc",route:"/algorithm/programmers/python/programmers-etc"},{kind:"MdxPage",name:"receiving-report-results",route:"/algorithm/programmers/python/receiving-report-results"},{kind:"MdxPage",name:"recommend-newid",route:"/algorithm/programmers/python/recommend-newid"},{kind:"MdxPage",name:"stock-price",route:"/algorithm/programmers/python/stock-price"},{kind:"MdxPage",name:"target-number",route:"/algorithm/programmers/python/target-number"},{kind:"MdxPage",name:"the-largest-number",route:"/algorithm/programmers/python/the-largest-number"}]},{kind:"Folder",name:"sql",route:"/algorithm/programmers/sql",children:[{kind:"Meta",data:{most_favorite_restaurant:"즐겨찾기가 가장 많은 식당 정보"}},{kind:"MdxPage",name:"most_favorite_restaurant",route:"/algorithm/programmers/sql/most_favorite_restaurant"}]}]},{kind:"MdxPage",name:"python-grammar",route:"/algorithm/python-grammar"},{kind:"MdxPage",name:"queue",route:"/algorithm/queue"},{kind:"MdxPage",name:"search-algorithm-complete-guide",route:"/algorithm/search-algorithm-complete-guide",frontMatter:{title:"검색 알고리즘 완벽 가이드: Fuzzy Search, Trie, Aho-Corasick, 벡터 DB",description:"Fuzzy Search, Full Text Index, Trie, 아호코라식 알고리즘, 벡터 데이터베이스(HNSW, IVF)의 원리와 구현을 중학생도 이해할 수 있게 수학적 증명과 시각화로 설명합니다",date:"2025-12-11",tags:["알고리즘","search","trie","aho-corasick","vector-database","HNSW","IVF"]}},{kind:"MdxPage",name:"search",route:"/algorithm/search"},{kind:"MdxPage",name:"sleve-of-eratosthenes",route:"/algorithm/sleve-of-eratosthenes"},{kind:"MdxPage",name:"sort",route:"/algorithm/sort"},{kind:"MdxPage",name:"tree",route:"/algorithm/tree"}]},{kind:"Folder",name:"blog",route:"/blog",children:[{kind:"Meta",data:{cs:"컴퓨터 공학",finance:"금융 도메인",conference:"컨퍼런스",study:"스터디",linux:"리눅스 팁","lecture-review":"강의 리뷰","book-review":"책 리뷰",tools:"Tools","electronic-product":"전자제품 리뷰","ai-log":"AI",cpp:"C++",anki:"Anki","be-writer":"글쓰기","python-script":"Python Script","cover-letter":"자기소개서",portfolio:"Portfolio"}},{kind:"Folder",name:"ai-log",route:"/blog/ai-log",children:[{kind:"Meta",data:{"next-step":"Next Step",notebook:"메모장",basic:"Basic"}},{kind:"Folder",name:"basic",route:"/blog/ai-log/basic",children:[{kind:"Meta",data:{anaconda:"Anaconda"}},{kind:"MdxPage",name:"anaconda",route:"/blog/ai-log/basic/anaconda"}]},{kind:"MdxPage",name:"next-step",route:"/blog/ai-log/next-step"},{kind:"MdxPage",name:"notebook",route:"/blog/ai-log/notebook"}]},{kind:"Folder",name:"anki",route:"/blog/anki",children:[{kind:"Meta",data:{"next-step":"다음 단계",interview:"면접 질문 대비","operating-system":"운영체제","software-engineering":"소프트웨어 공학",
1spring:"Spring",java:"Java","java-problem":"Java 문제","database-internal":"데이터베이스 이론",database:"데이터베이스 문제","db-problem":"데이터베이스 문제",sql:"SQL 코테문제",redis:"Redis",rabbitmq:"RabbitMQ",ohksj77:"ohks 면접질문",network:"네트워크","computer-science":"컴퓨터 과학",architecture:"소프트웨어 아키텍처",python:"Python"}},{kind:"MdxPage",name:"architecture",route:"/blog/anki/architecture"},{kind:"MdxPage",name:"computer-science",route:"/blog/anki/computer-science"},{kind:"MdxPage",name:"database-internal",route:"/blog/anki/database-internal"},{kind:"MdxPage",name:"database",route:"/blog/anki/database"},{kind:"Folder",name:"db-problem",route:"/blog/anki/db-problem",children:[{kind:"MdxPage",name:"20251204-database-problem",route:"/blog/anki/db-problem/20251204-database-problem"},{kind:"MdxPage",name:"20251214-database-problem",route:"/blog/anki/db-problem/20251214-database-problem"},{kind:"MdxPage",name:"20251219-database-problem",route:"/blog/anki/db-problem/20251219-database-problem"},{kind:"Meta",data:{"20251204-database-problem":"20251204 데이터베이스 문제","20251214-database-problem":"20251214 데이터베이스 문제","20251219-database-problem":"20251219 데이터베이스 문제"}}]},{kind:"MdxPage",name:"interview",route:"/blog/anki/interview"},{kind:"Folder",name:"java-problem",route:"/blog/anki/java-problem",children:[{kind:"MdxPage",name:"20251212-java-problem",route:"/blog/anki/java-problem/20251212-java-problem"},{kind:"Meta",data:{"20251212-java-problem":"20251212 자바 문제"}}]},{kind:"MdxPage",name:"java",route:"/blog/anki/java"},{kind:"MdxPage",name:"network",route:"/blog/anki/network"},{kind:"MdxPage",name:"next-step",route:"/blog/anki/next-step"},{kind:"MdxPage",name:"ohksj77",route:"/blog/anki/ohksj77"},{kind:"MdxPage",name:"operating-system",route:"/blog/anki/operating-system"},{kind:"MdxPage",name:"python",route:"/blog/anki/python"},{kind:"MdxPage",name:"rabbitmq",route:"/blog/anki/rabbitmq"},{kind:"MdxPage",name:"redis",route:"/blog/anki/redis"},{kind:"MdxPage",name:"software-engineering",route:"/blog/anki/software-engineering"},{kind:"MdxPage",name:"spring",route:"/blog/anki/spring"},{kind:"MdxPage",name:"sql",route:"/blog/anki/sql"}]},{kind:"MdxPage",name:"be-writer",route:"/blog/be-writer"},{kind:"Folder",name:"book-review",route:"/blog/book-review",children:[{kind:"Meta",data:{"secret-of-the-underlying-computer":"컴퓨터 밑바닥의 비밀","headfirst-design-patterns":"헤드퍼스트 디자인 패턴",hexagonalarchitecturedesignandimplementation:"헥사고날 아키텍처 설계와 구현","clean-architecture-learning-in-the-making":"만들면서 배우는 클린 아키텍처","real-mysql":"리얼 MySQL","pragmatic-programming-for-java-spring":"자바 스프링 개발자를 위한 실용주의 프로그래밍","nginx-cookbook":"Nginx 쿡북"}},{kind:"MdxPage",name:"clean-architecture-learning-in-the-making",route:"/blog/book-review/clean-architecture-learning-in-the-making"},{kind:"MdxPage",name:"headfirst-design-patterns",route:"/blog/book-review/headfirst-design-patterns"},{kind:"MdxPage",name:"hexagonalarchitecturedesignandimplementation",route:"/blog/book-review/hexagonalarchitecturedesignandimplementation"},{kind:"MdxPage",name:"nginx-cookbook",route:"/blog/book-review/nginx-cookbook"},{kind:"MdxPage",name:"pragmatic-programming-for-java-spring",route:"/blog/book-review/pragmatic-programming-for-java-spring"},{kind:"Folder",name:"real-mysql",route:"/blog/book-review/real-mysql",children:[{kind:"MdxPage",name:"05-transaction-and-lcok",route:"/blog/book-review/real-mysql/05-transaction-and-lcok"},{kind:"MdxPage",name:"06-data-compress",route:"/blog/book-review/real-mysql/06-data-compress"},{kind:"MdxPage",name:"07-data-encryption",route:"/blog/book-review/real-mysql/07-data-encryption"},{kind:"MdxPage",name:"08-index",route:"/blog/book-review/real-mysql/08-index"},{kind:"MdxPage",name:"09-optimizer-hint",route:"/blog/book-review/real-mysql/09-optimizer-hint"},{kind:"MdxPage",name:"10-query-explain-plan",route:"/blog/book-review/real-mysql/10-query-explain-plan"},{kind:"Meta",data:{"05-transaction-and-lcok":"5장 트랜잭션과 잠금","06-data-compress":"6장 데이터 압축","07-data-encryption":"7장 데이터 암호화","08-index":"8장 인덱스","09-optimizer-hint":"9장 옵티마이저와 힌트","10-query-explain-plan":"10장 쿼리 실행 계획",deadlock:"Deadlock","mysql-index":"MySQL Index","basic-data-processing":"기본 데이터 처리",replication:"Replication",etc:"Etc"}},{kind:"MdxPage",name:"basic-data-processing",route:"/blog/book-review/real-mysql/basic-data-processing"},{kind:"MdxPage",name:"deadlock",route:"/blog/book-review/real-mysql/deadlock"},{kind:"MdxPage",name:"etc",route:"/blog/book-review/real-mysql/etc"},{kind:"MdxPage",name:"mysql-index",route:"/blog/book-review/real-mysql/mysql-index"},{kind:"MdxPage",name:"replication",route:"/blog/book-review/real-mysql/replication"}]},{kind:"Folder",name:"secret-of-the-underlying-computer",route:"/blog/book-review/secret-of-the-underlying-computer",children:[{kind:"Meta",data:{"sotuc-chapter-1":"프로그래밍 언어부터 프로그램 실행까지, 이렇게 진행된다.","sotuc-chapter-2":"Sotuc Chapter 2"}},{kind:"MdxPage",name:"sotuc-chapter-1",route:"/blog/book-review/secret-of-the-underlying-computer/sotuc-chapter-1"},{kind:"MdxPage",name:"sotuc-chapter-2",route:"/blog/book-review/secret-of-the-underlying-computer/sotuc-chapter-2"}]}]},{kind:"Folder",name:"conference",route:"/blog/conference",children:[{kind:"Meta",data:{"flutter-seoul":"플러터 서울","dev-fest-2024"
1:"Dev Fest 2024"}},{kind:"MdxPage",name:"dev-fest-2024",route:"/blog/conference/dev-fest-2024"},{kind:"MdxPage",name:"flutter-seoul",route:"/blog/conference/flutter-seoul"}]},{kind:"MdxPage",name:"cover-letter",route:"/blog/cover-letter"},{kind:"Folder",name:"cpp",route:"/blog/cpp",children:[{kind:"Meta",data:{index:"CPP 문법"}},{kind:"MdxPage",name:"index",route:"/blog/cpp"}]},{kind:"Folder",name:"cs",route:"/blog/cs",children:[{kind:"Meta",data:{"computer-orgranization":"컴퓨터 구조",database:"Database",ipie:"IPIE","software-architecture":"소프트웨어 아키텍처"}},{kind:"Folder",name:"computer-orgranization",route:"/blog/cs/computer-orgranization",children:[{kind:"Meta",data:{"compiler-and-interpreter":"Compiler & Interperter"}},{kind:"MdxPage",name:"compiler-and-interpreter",route:"/blog/cs/computer-orgranization/compiler-and-interpreter"}]},{kind:"Folder",name:"database",route:"/blog/cs/database",children:[{kind:"Meta",data:{sql:"SQL",mysql:"MySQL",redis:"Redis"}},{kind:"MdxPage",name:"mysql",route:"/blog/cs/database/mysql"},{kind:"Folder",name:"redis",route:"/blog/cs/database/redis",children:[{kind:"Meta",data:{"redis-session":"레디스 세션 관리","redis-index":"레디스 기본 사용법","redis-memory-policy":"레디스 메모리 정책"}},{kind:"MdxPage",name:"redis-index",route:"/blog/cs/database/redis/redis-index"},{kind:"MdxPage",name:"redis-memory-policy",route:"/blog/cs/database/redis/redis-memory-policy"},{kind:"MdxPage",name:"redis-session",route:"/blog/cs/database/redis/redis-session"}]},{kind:"MdxPage",name:"sql",route:"/blog/cs/database/sql"}]},{kind:"Folder",name:"ipie",route:"/blog/cs/ipie",children:[{kind:"Meta",data:{"usability-test":"사용성 테스트",diagram:"다이어그램"}},{kind:"MdxPage",name:"diagram",route:"/blog/cs/ipie/diagram"},{kind:"MdxPage",name:"usability-test",route:"/blog/cs/ipie/usability-test"}]},{kind:"Folder",name:"software-architecture",route:"/blog/cs/software-architecture",children:[{kind:"Meta",data:{pagination:"페이지 네이션","clean-code":"클린 코드","clean-architecture":"클린 아키텍쳐",oop:"객체지향 프로그래밍","design-pattern":"디자인 패턴",mvvm:"MVC vs MVP vs MVVM",tools:"Tools","immutable-data":"Immutable"}},{kind:"MdxPage",name:"clean-architecture",route:"/blog/cs/software-architecture/clean-architecture"},{kind:"MdxPage",name:"clean-code",route:"/blog/cs/software-architecture/clean-code"},{kind:"MdxPage",name:"design-pattern",route:"/blog/cs/software-architecture/design-pattern"},{kind:"MdxPage",name:"immutable-data",route:"/blog/cs/software-architecture/immutable-data"},{kind:"MdxPage",name:"mvvm",route:"/blog/cs/software-architecture/mvvm"},{kind:"MdxPage",name:"oop",route:"/blog/cs/software-architecture/oop"},{kind:"MdxPage",name:"pagination",route:"/blog/cs/software-architecture/pagination"}]}]},{kind:"Folder",name:"electronic-product",route:"/blog/electronic-product",children:[{kind:"Meta",data:{"nreal-air":"Nreal - Air"}},{kind:"MdxPage",name:"nreal-air",route:"/blog/electronic-product/nreal-air"}]},{kind:"Folder",name:"finance",route:"/blog/finance",children:[{kind:"Meta",data:{"financial-terminology":"금융 용어 정리"}},{kind:"MdxPage",name:"financial-terminology",route:"/blog/finance/financial-terminology"}]},{kind:"Folder",name:"lecture-review",route:"/blog/lecture-review",children:[{kind:"Meta",data:{"oop-foo":"실무 자바 개발을 위한 OOP와 핵심 디자인 패턴","white-ship-gof-design-pattern":"백기선 GoF 디자인 패턴","database-engineering":"데이터베이스 엔지니어링",resilience4j:"Resilience4j"}},{kind:"MdxPage",name:"database-engineering",route:"/blog/lecture-review/database-engineering"},{kind:"MdxPage",name:"oop-foo",route:"/blog/lecture-review/oop-foo"},{kind:"MdxPage",name:"resilience4j",route:"/blog/lecture-review/resilience4j"},{kind:"Folder",name:"white-ship-gof-design-pattern",route:"/blog/lecture-review/white-ship-gof-design-pattern",children:[{kind:"Meta",data:{index:"Index","behavioral-patterns":"Behavioral Patterns","
1structual-patterns":"Structural Patterns"}},{kind:"Folder",name:"behavioral-patterns",route:"/blog/lecture-review/white-ship-gof-design-pattern/behavioral-patterns",children:[{kind:"Meta",data:{"template-method":"Template Method",facade:"Facade"}},{kind:"MdxPage",name:"facade",route:"/blog/lecture-review/white-ship-gof-design-pattern/behavioral-patterns/facade"},{kind:"MdxPage",name:"template-method",route:"/blog/lecture-review/white-ship-gof-design-pattern/behavioral-patterns/template-method"}]},{kind:"MdxPage",name:"index",route:"/blog/lecture-review/white-ship-gof-design-pattern"},{kind:"Folder",name:"structual-patterns",route:"/blog/lecture-review/white-ship-gof-design-pattern/structual-patterns",children:[{kind:"Meta",data:{proxy:"Proxy"}},{kind:"MdxPage",name:"proxy",route:"/blog/lecture-review/white-ship-gof-design-pattern/structual-patterns/proxy"}]}]}]},{kind:"MdxPage",name:"linux",route:"/blog/linux"},{kind:"Folder",name:"portfolio",route:"/blog/portfolio",children:[{kind:"Meta",data:{questi:"Questi"}},{kind:"MdxPage",name:"questi",route:"/blog/portfolio/questi"}]},{kind:"MdxPage",name:"python-script",route:"/blog/python-script"},{kind:"Folder",name:"study",route:"/blog/study",children:[{kind:"Meta",data:{dingcodingco:"딩코딩코 스터디","someone-pooped-on-my-cs":"Someone pooped on my CS",infiniteloop:"무한루프 CS 스터디","woowa-course":"우아한테크코스","tech-dive":"Tech Dive",groom:"구름 핀테크 인턴쉽 풀스택"}},{kind:"Folder",name:"cs-study",route:"/blog/study/cs-study",children:[{kind:"Folder",name:"1",route:"/blog/study/cs-study/1",children:[{kind:"Meta",data:{systemcall:"시스템 콜","osi-7-layer":"OSI 7 계층","rdb-vs-nosql":"RDB vs NoSQL",jvm:"JVM",servlet:"Servlet"}},{kind:"MdxPage",name:"jvm",route:"/blog/study/cs-study/1/jvm"},{kind:"MdxPage",name:"osi-7-layer",route:"/blog/study/cs-study/1/osi-7-layer"},{kind:"MdxPage",name:"rdb-vs-nosql",route:"/blog/study/cs-study/1/rdb-vs-nosql"},{kind:"MdxPage",name:"servlet",route:"/blog/study/cs-study/1/servlet"},{kind:"MdxPage",name:"systemcall",route:"/blog/study/cs-study/1/systemcall"}]},{kind:"Folder",name:"11",route:"/blog/study/cs-study/11",children:[{kind:"MdxPage",name:"3-way-handshake",route:"/blog/study/cs-study/11/3-way-handshake"},{kind:"Meta",data:{"mutex-and-semaphore":"뮤텍스와 세마포어","db-join":"데이터베이스 조인","3-way-handshake":"3-way 핸드쉐이크",transactional:"@Transactional"}},{kind:"MdxPage",name:"db-join",route:"/blog/study/cs-study/11/db-join"},{kind:"MdxPage",name:"mutex-and-semaphore",route:"/blog/study/cs-study/11/mutex-and-semaphore"},{kind:"MdxPage",name:"transactional",route:"/blog/study/cs-study/11/transactional"}]},{kind:"Folder",name:"12",route:"/blog/study/cs-study/12",children:[{kind:"MdxPage",name:"4-way-handshacking",route:"/blog/study/cs-study/12/4-way-handshacking"},{kind:"Meta",data:{"threadpool-forkandjoin":"Thread Pool, Fork/Join","4-way-handshacking":"4 way handshacking","db-traffic":"DB 트래픽",oop:"OOP"}},{kind:"MdxPage",name:"db-traffic",route:"/blog/study/cs-study/12/db-traffic"},{kind:"MdxPage",name:"oop",route:"/blog/study/cs-study/12/oop"},{kind:"MdxPage",name:"threadpool-forkandjoin",route:"/blog/study/cs-study/12/threadpool-forkandjoin"}]},{kind:"Folder",name:"13",route:"/blog/study/cs-study/13",children:[{kind:"Meta",data:{deadlock:"데드락","ip-address":"IP 주소",dbcp:"DBCP","design-pattern-in-spring":"스프링 디자인 패턴",servlet:"서블릿"}},{kind:"MdxPage",name:"dbcp",route:"/blog/study/cs-study/13/dbcp"},{kind:"MdxPage",name:"deadlock",route:"/blog/study/cs-study/13/deadlock"},{kind:"MdxPage",name:"design-pattern-in-spring",route:"/blog/study/cs-study/13/design-pattern-in-spring"},{kind:"MdxPage",name:"ip-address",route:"/blog/study/cs-study/13/ip-address"},{kind:"MdxPage",name:"servlet",route:"/blog/study/cs-study/13/servlet"}]},{kind:"Folder",name:"14",route:"/blog/study/cs-study/14",children:[{kind:"Meta",data:{"cache-memory":"캐시 메모리",router:"라우터","db-locking":"데이터베이스 락",lambda:"Lambda","dispatcher-servelet":"디스패처 서블릿"}},{kind:"MdxPage",name:"cache-memory",route:"/blog/study/cs-study/14/cache-memory"},{kind:"MdxPage",name:"db-locking",route:"/blog/study/cs-study/14/db-locking"},{kind:"MdxPage",name:"dispatcher-servelet",route:"/blog/study/cs-study/14/dispatcher-servelet"},{kind:"MdxPage",name:"lambda",route:"/blog/study/cs-study/14/lambda"},{kind:"MdxPage",name:"router",route:"/blog/study/cs-study/14/router"}]},{kind:"Folder",name:"15",route:"/blog/study/cs-study/15",children:[{kind:"Meta",data:{"memory-allocation-and-fragmentation":"메모리 할당과 단편화","subnetmask-gateway":"서브넷 마스크와 게이트웨이","sql-injection":"SQL 인젝션","java-annotation":"자바 어노테이션",tomcat:"톰캣"}},{kind:"MdxPage",name:"java-annotation",route:"/blog/study/cs-study/15/java-annotation"},{kind:"MdxPage",name:"memory-allocation-and-fragmentation",route:"/blog/study/cs-study/15/memory-allocation-and-fragmentation"},{kind:"MdxPage",name:"sql-injection",route:"/blog/study/cs-study/15/sql-injection"},{kind:"MdxPage",name:"subnetmask-gateway",route:"/blog/study/cs-study/15/subnetmask-gateway"},{kind:"MdxPage",name:"tomcat",route:"/blog/study/cs-study/15/tomcat"}]},{kind:"Folder",name:"16",route:"/blog/study/cs-study/16",children:[{kind:"Meta",data:{"virtual-memory":"가상 메모리",dhcp:"DHCP","inno-db-engine":"Inno DB 엔진","string-string-builder
1-string-buffer":"String, StringBuilder, StringBuffer","servlet-filter-spring-interceptor":"서블릿 필터와 스프링 인터셉터"}},{kind:"MdxPage",name:"dhcp",route:"/blog/study/cs-study/16/dhcp"},{kind:"MdxPage",name:"inno-db-engine",route:"/blog/study/cs-study/16/inno-db-engine"},{kind:"MdxPage",name:"servlet-filter-spring-interceptor",route:"/blog/study/cs-study/16/servlet-filter-spring-interceptor"},{kind:"MdxPage",name:"string-string-builder-string-buffer",route:"/blog/study/cs-study/16/string-string-builder-string-buffer"},{kind:"MdxPage",name:"virtual-memory",route:"/blog/study/cs-study/16/virtual-memory"}]},{kind:"Folder",name:"17",route:"/blog/study/cs-study/17",children:[{kind:"Meta",data:{"segmentation-paging":"세그멘테이션과 페이징","type-url-in-browser":"브라우저에 URL을 입력하면 생기는 일","mysql-engine":"MySQL 엔진 아키텍처","java-version":"자바 8 vs 자바 11 vs 자바 17","data-model":"DTO, DAO, VO, Entity"}},{kind:"MdxPage",name:"data-model",route:"/blog/study/cs-study/17/data-model"},{kind:"MdxPage",name:"java-version",route:"/blog/study/cs-study/17/java-version"},{kind:"MdxPage",name:"mysql-engine",route:"/blog/study/cs-study/17/mysql-engine"},{kind:"MdxPage",name:"segmentation-paging",route:"/blog/study/cs-study/17/segmentation-paging"},{kind:"MdxPage",name:"type-url-in-browser",route:"/blog/study/cs-study/17/type-url-in-browser"}]},{kind:"Folder",name:"19",route:"/blog/study/cs-study/19",children:[{kind:"MdxPage",name:"AOP",route:"/blog/study/cs-study/19/AOP"},{kind:"Meta",data:{AOP:"AOP"}}]},{kind:"Folder",name:"2",route:"/blog/study/cs-study/2",children:[{kind:"Meta",data:{interrupt:"인터럽트","multiplexing-demultiplexing":"Multiplexing / Demultiplexing",schema:"스키마","garbage-collection":"가비지 컬렉션","dispatcher-servlet":"Dispatcher Servlet"}},{kind:"MdxPage",name:"dispatcher-servlet",route:"/blog/study/cs-study/2/dispatcher-servlet"},{kind:"MdxPage",name:"garbage-collection",route:"/blog/study/cs-study/2/garbage-collection"},{kind:"MdxPage",name:"interrupt",route:"/blog/study/cs-study/2/interrupt"},{kind:"MdxPage",name:"multiplexing-demultiplexing",route:"/blog/study/cs-study/2/multiplexing-demultiplexing"},{kind:"MdxPage",name:"schema",route:"/blog/study/cs-study/2/schema"}]},{kind:"Folder",name:"20",route:"/blog/study/cs-study/20",children:[{kind:"Meta",data:{"page-replace-algorithm":"페이지 교체 알고리즘",sop:"SOP 정책",redis:"Redis",optional:"Optional","ioc-di":"IoC/DI"}},{kind:"MdxPage",name:"ioc-di",route:"/blog/study/cs-study/20/ioc-di"},{kind:"MdxPage",name:"optional",route:"/blog/study/cs-study/20/optional"},{kind:"MdxPage",name:"page-replace-algorithm",route:"/blog/study/cs-study/20/page-replace-algorithm"},{kind:"MdxPage",name:"redis",route:"/blog/study/cs-study/20/redis"},{kind:"MdxPage",name:"sop",route:"/blog/study/cs-study/20/sop"}]},{kind:"Folder",name:"21",route:"/blog/study/cs-study/21",children:[{kind:"Meta",data:{"file-system":"파일시스템","xss-csrf":"XSS와 CSRF","apache-kafka":"아파치 카프카",jdbc:"JDBC"}},{kind:"MdxPage",name:"apache-kafka",route:"/blog/study/cs-study/21/apache-kafka"},{kind:"MdxPage",name:"file-system",route:"/blog/study/cs-study/21/file-system"},{kind:"MdxPage",name:"jdbc",route:"/blog/study/cs-study/21/jdbc"},{kind:"MdxPage",name:"xss-csrf",route:"/blog/study/cs-study/21/xss-csrf"}]},{kind:"Folder",name:"22",route:"/blog/study/cs-study/22",children:[{kind:"Meta",data:{"async-non-block":"동기 비동기 vs 블로킹 논블로킹",grpc:"gRPC",flyway:"Flyway",jackson:"Jackson","spring-data-jpa":"Spring Data JPA"}},{kind:"MdxPage",name:"async-non-block",route:"/blog/study/cs-study/22/async-non-block"},{kind:"MdxPage",name:"flyway",route:"/blog/study/cs-study/22/flyway"},{kind:"MdxPage",name:"grpc",route:"/blog/study/cs-study/22/grpc"},{kind:"MdxPage",name:"jackson",route:"/blog/study/cs-study/22/jackson"},{kind:"MdxPage",name:"spring-data-jpa",route:"/blog/study/cs-study/22/spring-data-jpa"}]},{kind:"Folder",name:"23",route:"/blog/study/cs-study/23",children:[{kind:"Meta",data:{dmz:"DMZ","procedure-trigger":"프로시저와 트리거","table-scan-vs-index-scan":"테이블 스캔과 인덱스 스캔","persistence-context":"Persistence Context","java-generic":"Java Generic"}},{kind:"MdxPage",name:"dmz",route:"/blog/study/cs-study/23/dmz"},{kind:"MdxPage",name:"java-generic",route:"/blog/study/cs-study/23/java-generic"},{kind:"MdxPage",name:"persistence-context",route:"/blog/study/cs-study/23/persistence-context"},{kind:"MdxPage",name:"procedure-trigger",route:"/blog/study/cs-study/23/procedure-trigger"},{kind:"MdxPage",name:"table-scan-vs-index-scan",route:"/blog/study/cs-study/23/table-scan-vs-index-scan"}]},{kind:"Folder",name:"24",route:"/blog/study/cs-study/24",children:[{kind:"Meta",data:{rxjava:"RxJava","java-thread":"Java Thread","virtual-thread":"Virtual Thread",webflux:"WebFlux","jpa-association-mapping":"JPA 연관관계 맵핑","n-plus-one-problem":"N+1 Problem"}},{kind:"MdxPage",name:"java-thread",route:"/blog/study/cs-study/24/java-thread"},{kind:"MdxPage",name:"jpa-association-mapping",route:"/blog/study/cs-study/24/jpa-association-mapping"},{kind:"MdxPage",name:"n-plus-one-problem",route:"/blog/study/cs-study/24/n-plus-one-problem"},{kind:"MdxPage",name:"rxjava",route:"/blog/study/cs-study/24/rxjava"},{kind:"MdxPage",name:"virtual-thread",route:"/blog/study/cs-study/24/virtual-thread"},{kind:"MdxPage",name:"webflux",route:"/blog/study/cs-study/24/webflux"}]},{kind:"Folder",name:"3",route:"/blog/study/cs-study/3",children:[{kind:"Meta",data:{compile:"컴파일",socket:"Socket",key:"Key",final:"Final",tomcat:"Tomcat"}},{kind:"MdxPage",name:"compile",route:"/blog/study/cs-study/3/compile"},{kind:"MdxPage",name:"final",route:"/blog/study/cs-study/3/final"},{kind:"MdxPage",name:"key",route:"/blog/study/cs-study/3/key"},{kind:"MdxPage",name:"socket",route:"/blog/study/cs-study/3/socket"},{kind:"MdxPage",name:"tomcat",route:"/blog/study/cs-study/3/tomcat"}]},{kind:"Folder",name:"4",route:"/blog/study/cs-study/4",children:[{kind:"Meta",data:{process:"프로세스","db-index":"인덱스",static:"static 클래스와 static 메서드"}},{kind:"MdxPage",name:"db-index",route:"/blog/study/cs-study/4/db-index"},{kind:"MdxPage",name:"process",route:"/blog/study/cs-study/4/process"},{kind:"MdxPage",name:"static",route:"/blog/study/cs-study/4/static"}]},{kind:"Folder",name:"5",route:"/blog/study/cs-study/5",children:[{kind:"Meta",data:{"process-memory":"프로세스 주소공간","cookie-session":"쿠키와 세션","b-tree":"B-Tree","abstract-interface":"추상클래스와 인터페이스"}},{kind:"MdxPage",name:"abstract-interface",route:"/blog/study/cs-study/5/abstract-interface"},{kind:"MdxPage",name:"b-tree",route:"/blog/study/cs-study/5/b-tree"},{kind:"MdxPage",name:"cookie-session",route:"/blog/study/cs-study/5/cookie-session"},{kind:"MdxPage",name:"process-memory",route:"/blog/study/cs-study/5/process-memory"}]},{kind:"Folder",name:"6",route:"/blog/study/cs-study/6",children:[{kind:"Meta",data:{"context-switch":"컨텍스트 스위칭",http:"HTTP",view:"뷰","equals-hashcode":"equals와 hashcode","spring-mvc-spring-boot":"Spring MVC와 Spring Boot"}}
1,{kind:"MdxPage",name:"context-switch",route:"/blog/study/cs-study/6/context-switch"},{kind:"MdxPage",name:"equals-hashcode",route:"/blog/study/cs-study/6/equals-hashcode"},{kind:"MdxPage",name:"http",route:"/blog/study/cs-study/6/http"},{kind:"MdxPage",name:"spring-mvc-spring-boot",route:"/blog/study/cs-study/6/spring-mvc-spring-boot"},{kind:"MdxPage",name:"view",route:"/blog/study/cs-study/6/view"}]},{kind:"Folder",name:"7",route:"/blog/study/cs-study/7",children:[{kind:"Meta",data:{"process-scheduling-algorithm":"프로세스 스케줄링 알고리즘","http-version":"HTTP 버전",normalization:"정규화",collections:"Collections"}},{kind:"MdxPage",name:"collections",route:"/blog/study/cs-study/7/collections"},{kind:"MdxPage",name:"http-version",route:"/blog/study/cs-study/7/http-version"},{kind:"MdxPage",name:"normalization",route:"/blog/study/cs-study/7/normalization"},{kind:"MdxPage",name:"process-scheduling-algorithm",route:"/blog/study/cs-study/7/process-scheduling-algorithm"}]},{kind:"Folder",name:"8",route:"/blog/study/cs-study/8",children:[{kind:"Meta",data:{ipc:"IPC"}},{kind:"MdxPage",name:"ipc",route:"/blog/study/cs-study/8/ipc"}]},{kind:"Meta",data:{1:"1주차",2:"2주차",3:"3주차",4:"4주차",5:"5주차",6:"6주차",7:"7주차",8:"8주차",11:"11주차",12:"12주차",13:"13주차",14:"14주차",15:"15주차",16:"16주차",17:"17주차",18:"18주차",19:"19주차",20:"20주차",21:"21주차",22:"22주차",23:"23주차",24:"24주차",index:"Index"}},{kind:"MdxPage",name:"index",route:"/blog/study/cs-study"}]},{kind:"Folder",name:"dingcodingco",route:"/blog/study/dingcodingco",children:[{kind:"Meta",data:{"backend-interview-3days-challenge":"백엔드 인터뷰 3일 챌린지"}},{kind:"MdxPage",name:"backend-interview-3days-challenge",route:"/blog/study/dingcodingco/backend-interview-3days-challenge"}]},{kind:"Folder",name:"groom",route:"/blog/study/groom",children:[{kind:"Meta",data:{"groom-orientation":"오리엔테이션"}},{kind:"MdxPage",name:"groom-orientation",route:"/blog/study/groom/groom-orientation"}]},{kind:"Folder",name:"infiniteloop",route:"/blog/study/infiniteloop",children:[{kind:"Meta",data:{"linux-basic-for-server-management":"서버 운영에 필요한 리눅스 기본 지식","reentrant-lock-vs-synchronized":"ReentrantLock vs synchronized"}},{kind:"MdxPage",name:"linux-basic-for-server-management",route:"/blog/study/infiniteloop/linux-basic-for-server-management"},{kind:"MdxPage",name:"reentrant-lock-vs-synchronized",route:"/blog/study/infiniteloop/reentrant-lock-vs-synchronized"}]},{kind:"Folder",name:"someone-pooped-on-my-cs",route:"/blog/study/someone-pooped-on-my-cs",children:[{kind:"Meta",data:{"async-non-blocking":"Async vs Non blocking","easycode-transaction":"쉬운코드 트랜잭션"}},{kind:"MdxPage",name:"async-non-blocking",route:"/blog/study/someone-pooped-on-my-cs/async-non-blocking"},{kind:"MdxPage",name:"easycode-transaction",route:"/blog/study/someone-pooped-on-my-cs/easycode-transaction"}]},{kind:"Folder",name:"tech-dive",route:"/blog/study/tech-dive",children:[{kind:"Meta",data:{"tech-dive-5-recap":"Tech Dive 스터디 5회차(News Feed System)","sns-feed-research":"News Feed 전수 조사"}},{kind:"Folder",name:"sns-feed-research",route:"/blog/study/tech-dive/sns-feed-research",children:[{kind:"Meta",data:{"sns-feed-system-design":"SNS 피드 시스템 설계","sns-feed-system-infra-architecture":"SNS 피드 인프라 아í
1‚¤í…ì²˜","sns-feed-graph-database":"SNS 피드 Graph Database","facebook-tao-graph":"Facebook TAO Graph"}},{kind:"MdxPage",name:"facebook-tao-graph",route:"/blog/study/tech-dive/sns-feed-research/facebook-tao-graph"},{kind:"MdxPage",name:"sns-feed-graph-database",route:"/blog/study/tech-dive/sns-feed-research/sns-feed-graph-database"},{kind:"MdxPage",name:"sns-feed-system-design",route:"/blog/study/tech-dive/sns-feed-research/sns-feed-system-design"},{kind:"MdxPage",name:"sns-feed-system-infra-architecture",route:"/blog/study/tech-dive/sns-feed-research/sns-feed-system-infra-architecture"}]},{kind:"MdxPage",name:"tech-dive-5-recap",route:"/blog/study/tech-dive/tech-dive-5-recap"}]},{kind:"MdxPage",name:"woowa-course",route:"/blog/study/woowa-course"}]},{kind:"Folder",name:"tools",route:"/blog/tools",children:[{kind:"Meta",data:{docker:"Docker","docker-compose-up-build":"docker-compose up --build",intellij:"IntelliJ IDEA",git:"Git",chrome:"Chrome","nvim-lazyvim":"Nvim & LazyVim",vmware:"Vmware"}},{kind:"MdxPage",name:"chrome",route:"/blog/tools/chrome"},{kind:"MdxPage",name:"docker-compose-up-build",route:"/blog/tools/docker-compose-up-build"},{kind:"MdxPage",name:"docker",route:"/blog/tools/docker"},{kind:"MdxPage",name:"git",route:"/blog/tools/git"},{kind:"MdxPage",name:"intellij",route:"/blog/tools/intellij"},{kind:"Folder",name:"nvim-lazyvim",route:"/blog/tools/nvim-lazyvim",children:[{kind:"Meta",data:{keymaps:"keymaps",xclip:"xclip"}},{kind:"MdxPage",name:"keymaps",route:"/blog/tools/nvim-lazyvim/keymaps"},{kind:"MdxPage",name:"xclip",route:"/blog/tools/nvim-lazyvim/xclip"}]},{kind:"MdxPage",name:"vmware",route:"/blog/tools/vmware"}]}]},{kind:"Folder",name:"docs",route:"/docs",children:[{kind:"Meta",data:{paypal:"PayPal",redis:"Redis"}},{kind:"Folder",name:"paypal",route:"/docs/paypal",children:[{kind:"Meta",data:{"subscription-api":"구독 API","webhook-api":"웹훅 API"}},{kind:"MdxPage",name:"subscription-api",route:"/docs/paypal/subscription-api"},{kind:"MdxPage",name:"webhook-api",route:"/docs/paypal/webhook-api"}]},{kind:"Folder",name:"redis",route:"/docs/redis",children:[{kind:"Meta",data:{"redis-stream":"Redis Stream","redis-transaction":"Redis Transaction의 한계와 Pipeline 비교","redis-geospatial":"Redis Geospatial"}},{kind:"MdxPage",name:"redis-geospatial",route:"/docs/redis/redis-geospatial"},{kind:"MdxPage",name:"redis-stream",route:"/docs/redis/redis-stream"},{kind:"MdxPage",name:"redis-transaction",route:"/docs/redis/redis-transaction"}]}]},{kind:"Folder",name:"etc",route:"/etc",children:[{kind:"Meta",data:{ruby:"Ruby",flutter:"Flutter",fastapi:"FastAPI"}},{kind:"Folder",name:"fastapi",route:"/etc/fastapi",children:[{kind:"Meta",data:{"fastapi-background-task":"Background Task","celery-vs-fastapi-background-task":"Celery vs FastAPI Background Task","dishka-generic-di":"Dishka Generic DI",pytest:"Pytest"}},{kind:"MdxPage",name:"celery-vs-fastapi-background-task",route:"/etc/fastapi/celery-vs-fastapi-background-task"},{kind:"MdxPage",name:"dishka-generic-di",route:"/etc/fastapi/dishka-generic-di"},{kind:"MdxPage",name:"fastapi-background-task",route:"/etc/fastapi/fastapi-background-task"},{kind:"Folder",name:"pytest",route:"/etc/fastapi/pytest",children:[{kind:"Meta",data:{"get-started":"Get Started","python-test-rollback":"Python Test Rollback"}},{kind:"MdxPage",name:"get-started",route:"/etc/fastapi/pytest/get-started"},{kind:"MdxPage",name:"python-test-rollback",route:"/etc/fastapi/pytest/python-test-rollback"}]}]},{kind:"Folder",name:"flutter",route:"/etc/flutter",children:[{kind:"Meta",data:{"flutter-tips":"플러터 팁",theory:"이론",package:"패키지"}},{kind:"MdxPage",name:"flutter-tips",route:"/etc/flutter/flutter-tips"},{kind:"Folder",name:"package",route:"/etc/flutter/package",children:[{kind:"Meta",data:{firebase:"Firebase","flutter-http":"Flutter HTTP","go-router":"Go Router",riverpod:"Riverpod","modal-bottom-sheet":"Modal Bottom Sheet","local-noti":"Local Notification"}},{kind:"MdxPage",name:"firebase",route:"/etc/flutter/package/firebase"},{kind:"MdxPage",name:"flutter-http",route:"/etc/flutter/package/flutter-http"},{kind:"MdxPage",name:"go-router",route:"/etc/flutter/package/go-router"},{kind:"MdxPage",name:"local-noti",route:"/etc/flutter/package/local-noti"},{kind:"MdxPage",name:"modal-bottom-sheet",route:"/etc/flutter/package/modal-bottom-sheet",frontMatter:{
1sidebar_position:2,toc_max_heading_level:4}},{kind:"MdxPage",name:"riverpod",route:"/etc/flutter/package/riverpod"}]},{kind:"Folder",name:"theory",route:"/etc/flutter/theory",children:[{kind:"Meta",data:{"sqflite-vs-drift":"Sqflite vs Drift","async-technique":"Async Technique","session-and-token":"Session and Token"}},{kind:"MdxPage",name:"async-technique",route:"/etc/flutter/theory/async-technique"},{kind:"MdxPage",name:"session-and-token",route:"/etc/flutter/theory/session-and-token"},{kind:"MdxPage",name:"sqflite-vs-drift",route:"/etc/flutter/theory/sqflite-vs-drift"}]}]},{kind:"Folder",name:"ruby",route:"/etc/ruby",children:[{kind:"Meta",data:{index:"Ruby?"}},{kind:"MdxPage",name:"index",route:"/etc/ruby"}]}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"java-and-spring",route:"/java-and-spring",children:[{kind:"Meta",data:{"next-step":"Next Step",msa:"MSA",index:"Java란?",basic:"Basic",spring:"Spring","spring-boot":"Spring Boot",jpa:"JPA",webflux:"WebFlux","deep-dive":"Deep Dive",pattern:"Pattern",api:"API",project:"Project"}},{kind:"Folder",name:"api",route:"/java-and-spring/api",children:[{kind:"Meta",data:{redis:"Redis","kafka-with-spring":"Kafka",json:"직렬화 / 역직렬화","http-url-connection":"HTTP / WEB 통신","office-file-io":"MS Office 파일 입출력",thymeleaf:"Thymeleaf",concurrency:"동시성 관련"}},{kind:"MdxPage",name:"concurrency",route:"/java-and-spring/api/concurrency"},{kind:"MdxPage",name:"http-url-connection",route:"/java-and-spring/api/http-url-connection"},{kind:"MdxPage",name:"json",route:"/java-and-spring/api/json"},{kind:"MdxPage",name:"kafka-with-spring",route:"/java-and-spring/api/kafka-with-spring"},{kind:"MdxPage",name:"office-file-io",route:"/java-and-spring/api/office-file-io"},{kind:"MdxPage",name:"redis",route:"/java-and-spring/api/redis"},{kind:"MdxPage",name:"thymeleaf",route:"/java-and-spring/api/thymeleaf"}]},{kind:"Folder",name:"basic",route:"/java-and-spring/basic",children:[{kind:"Meta",data:{java:"Java 문법",kotlin:"Kotlin 문법","web-theory":"웹 개발 기초","multi-module":"멀티 모듈","useful-annotation":"Useful Annotation"}},{kind:"Folder",name:"java",route:"/java-and-spring/basic/java",children:[{kind:"Meta",data:{"for-programming-test":"코테용 자바","java-grammar":"자바 문법"}},{kind:"MdxPage",name:"for-programming-test",route:"/java-and-spring/basic/java/for-programming-test"},{kind:"MdxPage",name:"java-grammar",route:"/java-and-spring/basic/java/java-grammar"}]},{kind:"Folder",name:"kotlin",route:"/java-and-spring/basic/kotlin",children:[{kind:"Meta",data:{"kotlin-basic-type":"코틀린 기초 자료형","kotlin-control-flow":"코틀린 조건문","kotlin-loop":"코틀린 반복문","kotlin-function":"코틀린 함수","kotlin-class":"코틀린 클래스"}},{kind:"MdxPage",name:"kotlin-basic-type",route:"/java-and-spring/basic/kotlin/kotlin-basic-type"},{kind:"MdxPage",name:"kotlin-class",route:"/java-and-spring/basic/kotlin/kotlin-class"},{kind:"MdxPage",name:"kotlin-control-flow",route:"/java-and-spring/basic/kotlin/kotlin-control-flow"},{kind:"MdxPage",name:"kotlin-function",route:"/java-and-spring/basic/kotlin/kotlin-function"},{kind:"MdxPage",name:"kotlin-loop",route:"/java-and-spring/basic/kotlin/kotlin-loop"}]},{kind:"MdxPage",name:"multi-module",route:"/java-and-spring/basic/multi-module"},{kind:"MdxPage",name:"useful-annotation",route:"/java-and-spring/basic/useful-annotation"},{kind:"MdxPage",name:"web-theory",route:"/java-and-spring/basic/web-theory"}]},{kind:"Folder",name:"deep-dive",route:"/java-and-spring/deep-dive",children:[{kind:"Meta",data:{jvm:"JVM","jvm-gc":"JVM GC"}},{kind:"MdxPage",name:"jvm-gc",route:"/java-and-spring/deep-dive/jvm-gc"},{kind:"MdxPage",name:"jvm",route:"/java-and-spring/deep-dive/jvm"}]},{kind:"MdxPage",name:"index",route:"/java-and-spring"},{kind:"Folder",name:"jpa",route:"/java-and-spring/jpa",children:[{kind:"Meta",data:{"quick-start":"JPA Quick Start","association-mapping":"연관관계 매핑","query-dsl":"QueryDSL",theory:"JPA 이론",error:"JPA를 사용하며 겪은 에러 모음","spring-data-redis":"Redis"}},{kind:"MdxPage",name:"association-mapping",route:"/java-and-spring/jpa/association-mapping"},{kind:"MdxPage",name:"error",route:"/java-and-spring/jpa/error"},{kind:"MdxPage",name:"query-dsl",route:"/java-and-spring/jpa/query-dsl"},{kind:"MdxPage",name:"quick-start",route:"/java-and-spring/jpa/quick-start"},{kind:"MdxPage",name:"spring-data-redis",route:"/java-and-spring/jpa/spring-data-redis"},{kind:"MdxPage",name:"theory",route:"/java-and-spring/jpa/theory"}]},{kind:"Folder",name:"msa",route:"/java-and-spring/msa",children:[{kind:"Meta",data:{"microservice-theory":"마이크로 서비스 이론","microservice-pattern":"마이크로 서비스 패턴",ddd:"도메인 주도 설계"}},{kind:"MdxPage",name:"ddd",route:"/java-and-spring/msa/ddd"},{kind:"MdxPage",name:"microservice-pattern",route:"/java-and-spring/msa/microservice-pattern"},{kind:"MdxPage",name:"microservice-theory",route:"/java-and-spring/msa/microservice-theory"}]},{kind:"MdxPage",name:"next-step",route:"/java-and-spring/next-step"},{kind:"Folder",name:"pattern",route:"/java-and-spring/pattern",children:[{kind:"Meta",data:{envelop_pattern:"봉투패턴"}},{kind:"MdxPage",name:"envelop_pattern",route:"/java-and-spring/pattern/envelop_pattern"}]},{kind:"Folder",name:"project",route:"/java-and-spring/project",children:[{kind:"Meta",data:{lolmoonchul:"롤문철(진행 중)",shoppingmall:"Thymeleaf 쇼핑몰(중단)","delivery-app-mvp":"배달앱"}},{kind:"MdxPage",name:"delivery-app-mvp",route:"/java-and-spring/project/delivery-app-mvp"},{kind:"MdxPage",name:"lolmoonchul",route:"/java-and-spring/project/lolmoonchul"},{kind:"MdxPage",name:"shoppingmall",route:"/java-and-spring/project/shoppingmall"}]},{kind:"Folder",name:"spring-boot",route:"/java-and-spring/spring-boot",children:[{kind:"Meta",data:{"spring-boot":"Spring 설정","rest-api":"Rest API","response-code":"Request & Response",exception:"Exception & Validation","container-and-context":"Container & Context","interceptor-and-filter":"Interceptor & Filter",pagination:"Pagination","spring-auth":"Auth","spring-security":"Spring Security","spring-cloud":"Spring Cloud","junit-test":"Junit과 Test",monitoring:"Monitoring","spring-batch":"Spring Batch",aop:"Spring 관점 지향 프로그래밍","spring-tip":"Spring 팁","message-queue":"Message Queue"}},{kind:"MdxPage",name:"aop",route:"/java-and-spring/spring-boot/aop"},{kind:"MdxPage",name:"container-and-context",route:"/java-and-spring/spring-boot/container-and-context"},{kind:"MdxPage",name:"exception",route:"/java-and-spring/spring-boot/exception"},{kind:"MdxPage",name:"interceptor-and-filter",route:"/java-and-spring/spring-boot/interceptor-and-filter"},{kind:"MdxPage",name:"junit-test",route:"/java-and-spring/spring-boot/junit-test"},{kind:"MdxPage",name:"message-queue",route:"/java-and-spring/spring-boot/message-queue"},{kind:"MdxPage",name:"monitoring",route:"/java-and-spring/spring-boot/monitoring"},{kind:"MdxPage",name:"pagination",route:"/java-and-spring/spring-boot/pagination"},{kind:"MdxPage",name:"response-code",route:"/java-and-spring/spring-boot/response-code"},{kind:"MdxPage",name:"rest-api",route:"/java-and-spring/spring-boot/rest-api"},{kind:"MdxPage",name:"spring-auth",route:"/java-and-spring/spring-boot/spring-auth"},{kind:"MdxPage",name:"spring-batch",route:"/java-and-spring/spring-boot/spring-batch"},{kind:"MdxPage",name:"spring-boot",route:"/java-and-spring/spring-boot/spring-boot"},{kind:"MdxPage",name:"spring-cloud",route:"/java-and-spring/spring-boot/spring-cloud"},{kind:"MdxPage",name:"spring-security",route:"/java-and-spring/spring-boot/spring-security"},{kind:"MdxPage",name:"spring-tip",route:"/java-and-spring/spring-boot/spring-tip"}]},{kind:"Folder",name:"webflux",route:"/java-and-spring/webflux",children:[{kind:"Meta",data:{"webflux-info":"WebFlux란?"}},{kind:"MdxPage",name:"webflux-info",route:"/java-and-spring/webflux/webflux-info"}]}]},{kind:"Folder",name:"js-framework",route:"/js-framework",children:[{kind:"Meta",data:{"node-next-step":"Node Next Step","js-grammar":"JavaScript 문법",nest:"Nest.js",nodejs:"Node.js 란?",expressjs:"Express",next:"Next.js"}},{kind:"MdxPage",name:"expressjs",route:"/js-framework/expressjs"},{kind:"MdxPage",name:"js-grammar",route:"/js-framework/js-grammar"},{kind:"Folder",name:"nest",route:"/js-framework/nest",children:[{kind:"Meta",data:{index:"Index","
1nest-scheduling":"Nest Scheduling 비교","nest-command":"Nest Command","nest-proxy":"Nest Proxy","nest-aop":"Nest AOP","nest-swagger":"Swagger","nest-data-loader":"Data Loader","guard-strategy":"Guard & Strategy",prisma:"Prisma","module-system":"Module system",controller:"Controller",exception:"Exception",typeorm:"Typeorm",drizzle:"Drizzle",validation:"Validation"}},{kind:"MdxPage",name:"controller",route:"/js-framework/nest/controller"},{kind:"MdxPage",name:"drizzle",route:"/js-framework/nest/drizzle"},{kind:"MdxPage",name:"exception",route:"/js-framework/nest/exception"},{kind:"MdxPage",name:"guard-strategy",route:"/js-framework/nest/guard-strategy"},{kind:"MdxPage",name:"index",route:"/js-framework/nest"},{kind:"MdxPage",name:"module-system",route:"/js-framework/nest/module-system"},{kind:"MdxPage",name:"nest-aop",route:"/js-framework/nest/nest-aop"},{kind:"MdxPage",name:"nest-command",route:"/js-framework/nest/nest-command"},{kind:"MdxPage",name:"nest-data-loader",route:"/js-framework/nest/nest-data-loader"},{kind:"MdxPage",name:"nest-proxy",route:"/js-framework/nest/nest-proxy"},{kind:"MdxPage",name:"nest-scheduling",route:"/js-framework/nest/nest-scheduling"},{kind:"MdxPage",name:"nest-swagger",route:"/js-framework/nest/nest-swagger"},{kind:"Folder",name:"prisma",route:"/js-framework/nest/prisma",children:[{kind:"Meta",data:{prisma:"Index","prisma-query-patterns-comparison":"Prisma 동적 Query 비교"}},{kind:"MdxPage",name:"prisma-query-patterns-comparison",route:"/js-framework/nest/prisma/prisma-query-patterns-comparison"},{kind:"MdxPage",name:"prisma",route:"/js-framework/nest/prisma/prisma"}]},{kind:"MdxPage",name:"typeorm",route:"/js-framework/nest/typeorm"},{kind:"MdxPage",name:"validation",route:"/js-framework/nest/validation"}]},{kind:"Folder",name:"next",route:"/js-framework/next",children:[{kind:"Meta",data:{"react-short":"리액트 요약","next-basic":"넥스트 시작하기"}},{kind:"MdxPage",name:"next-basic",route:"/js-framework/next/next-basic"},{kind:"MdxPage",name:"react-short",route:"/js-framework/next/react-short"}]},{kind:"MdxPage",name:"node-next-step",route:"/js-framework/node-next-step"},{kind:"MdxPage",name:"nodejs",route:"/js-framework/nodejs"}]},{kind:"Folder",name:"theory",route:"/theory",children:[{kind:"Meta",data:{"operating-system":"운영체제",infra:"인프라",java:"JAVA/Kotlin",spring:"Spring",python:"Python","data-structure":"자료구조",database:"Database",network:"네트워크",security:"Security",mongodb:"MongoDB"}},{kind:"Folder",name:"data-structure",route:"/theory/data-structure",children:[{kind:"Meta",data:{hash:"Hash","b-tree":"B Tree","sql-index":"SQL Index"}},{kind:"MdxPage",name:"b-tree",route:"/theory/data-structure/b-tree"},{kind:"MdxPage",name:"hash",route:"/theory/data-structure/hash"},{kind:"MdxPage",name:"sql-index",route:"/theory/data-structure/sql-index"}]},{kind:"Folder",name:"database",route:"/theory/database",children:[{kind:"Meta",data:{"ap-database-system":"AP 데이터베이스 시스템","sql-grammar":"SQL 문법","n-plus-one":"N+1",schema:"스키마","database-normalization":"데이터베이스 정규화",view:"ë·°",transaction:"트랜잭션",replication:"복제","join-type":"조인 종류","database-zero-downtime-migration":"데이터베이스 무중단 마이그레이션"}},{kind:"MdxPage",name:"ap-database-system",route:"/theory/database/ap-database-system"},{kind:"MdxPage",name:"database-normalization",route:"/theory/database/database-normalization"},{kind:"MdxPage",name:"database-zero-downtime-migration",route:"/theory/database/database-zero-downtime-migration"},{kind:"MdxPage",name:"join-type",route:"/theory/database/join-type"},{kind:"MdxPage",name:"n-plus-one",route:"/theory/database/n-plus-one"},{kind:"MdxPage",name:"replication",route:"/theory/database/replication"},{kind:"MdxPage",name:"schema",route:"/theory/database/schema"},{kind:"MdxPage",name:"sql-grammar",route:"/theory/database/sql-grammar"},{kind:"MdxPage",name:"transaction",route:"/theory/database/transaction"},{kind:"MdxPage",name:"view",route:"/theory/database/view"}]},{kind:"Folder",name:"infra",route:"/theory/infra",children:[{kind:"Meta",data:{messaging:"메시징(이론)","rabbitmq-official":"RabbitMQ 공식문서 번역",redis:"Redis",aws:"AWS",azure:"Azure","loki-document":"Loki 공식 문서 번역"}},{kind:"Folder",name:"aws",route:"/theory/infra/aws",children:[{kind:"Meta",data:{"amazon-sqs-queue-comparison":"Amazon SQS 큐 비교","aws-sqs":"AWS SQS"}},{kind:"MdxPage",name:"amazon-sqs-queue-comparison",route:"/theory/infra/aws/amazon-sqs-queue-comparison"},{kind:"MdxPage",name:"aws-sqs",route:"/theory/infra/aws/aws-sqs"}]},{kind:"Folder",name:"azure",route:"/theory/infra/azure",children:[{kind:"Meta",data:{"functions-python-guide":"Functions Python Guide","azure-functions-deploy":"Azure Functions Deploy","durable-functions-perf-and-scale":"Durable Functions Perf and Scale","azure-durable-functions-billing":"Azure Durable Functions Billing","azure-container-apps-billing":"Azure Container Apps Billing","azure-function-container-ssh":"Azure Functions 컨테이너 배포 및 SSH 접속 가이드"}},{kind:"MdxPage",name:"azure-durable-functions-billing",route:"/theory/infra/azure/azure-durable-functions-billing",frontMatter:{title:"Azure Durable Functions & Container Apps 과금 구조"}},{kind:"MdxPage",name:"azure-function-container-ssh",route:"/theory/infra/azure/azure-function-container-ssh",frontMatter:{title:"Azure Functions 컨테이너 배포 및 SSH 접속 가이드"}},{kind:"MdxPage",name:"azure-functions-deploy",route:"/theory/infra/azure/azure-functions-deploy"},{kind:"MdxPage",name:"durable-functions-perf-and-scale",route:"/theory/infra/azure/durable-functions-perf-and-scale"},{kind:"MdxPage",name:"functions-python-guide",route:"/theory/infra/azure/functions-python-guide"}]},{kind:"Folder",name:"loki-document",route:"/theory/infra/loki-document",children:[{kind:"Meta",data:{index:"소개","get-started":"시작하기","send-data":"Loki로 로그 데이터 보내기",query:"LogQL 쿼리",operations:"Loki 관리"}},{kind:"Folder",name:"get-started",route:"/theory/infra/loki-document/get-started",children:[{kind:"Meta",data:{overview:"Loki 개요","quick-start":"빠른 시작",architecture:"아í
1‚¤í…ì²˜",components:"컴포넌트","deployment-modes":"배포 모드",labels:"레이블","hash-rings":"해시 링"}},{kind:"MdxPage",name:"architecture",route:"/theory/infra/loki-document/get-started/architecture"},{kind:"MdxPage",name:"components",route:"/theory/infra/loki-document/get-started/components"},{kind:"MdxPage",name:"deployment-modes",route:"/theory/infra/loki-document/get-started/deployment-modes"},{kind:"MdxPage",name:"hash-rings",route:"/theory/infra/loki-document/get-started/hash-rings",frontMatter:{title:"일관된 해시 링",description:"Loki의 일관된 해시 링에 대해 알아봅니다."}},{kind:"Folder",name:"labels",route:"/theory/infra/loki-document/get-started/labels",children:[{kind:"Meta",data:{"bp-labels":"레이블 모범 사례",cardinality:"카디널리티","structured-metadata":"구조화된 메타데이터","remove-default-labels":"기본 레이블 제거"}},{kind:"MdxPage",name:"bp-labels",route:"/theory/infra/loki-document/get-started/labels/bp-labels",frontMatter:{title:"레이블 모범 사례",description:"Loki 레이블 사용에 대한 모범 사례를 알아봅니다."}},{kind:"MdxPage",name:"cardinality",route:"/theory/infra/loki-document/get-started/labels/cardinality",frontMatter:{title:"카디널리티",description:"Loki에서 카디널리티가 무엇인지 알아봅니다."}},{kind:"MdxPage",name:"remove-default-labels",route:"/theory/infra/loki-document/get-started/labels/remove-default-labels",frontMatter:{title:"기본 OpenTelemetry 레이블 제거",description:"기본 OpenTelemetry 레이블을 제거하는 방법을 알아봅니다."}},{kind:"MdxPage",name:"structured-metadata",route:"/theory/infra/loki-document/get-started/labels/structured-metadata",frontMatter:{title:"구조화된 메타데이터란 무엇인가",description:"Loki에서 구조화된 메타데이터에 대해 알아봅니다."}}]},{kind:"MdxPage",name:"labels",route:"/theory/infra/loki-document/get-started/labels",frontMatter:{title:"레이블 이해하기",description:"Loki의 레이블에 대해 알아봅니다."}},{kind:"MdxPage",name:"overview",route:"/theory/infra/loki-document/get-started/overview"},{kind:"Folder",name:"quick-start",route:"/theory/infra/loki-document/get-started/quick-start",children:[{kind:"Meta",data:{"quick-start":"Loki 퀵스타트",tutorial:"Loki 튜토리얼"}},{kind:"MdxPage",name:"quick-start",route:"/theory/infra/loki-document/get-started/quick-start/quick-start"},{kind:"MdxPage",name:"tutorial",route:"/theory/infra/loki-document/get-started/quick-start/tutorial"}]},{kind:"MdxPage",name:"quick-start",route:"/theory/infra/loki-document/get-started/quick-start"}]},{kind:"MdxPage",name:"index",route:"/theory/infra/loki-document"},{kind:"Folder",name:"operations",route:"/theory/infra/loki-document/operations",children:[{kind:"Meta",data:{index:"소개"}},{kind:"MdxPage",name:"index",route:"/theory/infra/loki-document/operations"}]},{kind:"Folder",name:"query",route:"/theory/infra/loki-document/query",children:[{kind:"Meta",data:{index:"소개"}},{kind:"MdxPage",name:"index",route:"/theory/infra/loki-document/query"}]},{kind:"Folder",name:"send-data",route:"/theory/infra/loki-document/send-data",children:[{kind:"Meta",data:{index:"소개"}},{kind:"MdxPage",name:"index",route:"/theory/infra/loki-document/send-data"}]},{kind:"Folder",name:"setup",route:"/theory/infra/loki-document/setup",children:[{kind:"Meta",data:{index:"소개",size:"클러스터 크기 조정",install:"설치",migrate:"마이그레이션",upgrade:"업그레이드"}},{kind:"MdxPage",name:"index",route:"/theory/infra/loki-document/setup",frontMatter:{title:"Loki 설정",description:"Loki를 설정하는 방법을 알아봅니다."}},{kind:"Folder",name:"install",route:"/theory/infra/loki-document/setup/install",children:[{kind:"Meta",data:{helm:"Helm을 사용하여 설치",tanka:"Tanka를 사용하여 설치",docker:"Docker를 사용하여 설치",local:"로컬에 설치",istio:"Istio에 설치","install-from-source":"소스에서 설치"}},{kind:"MdxPage",name:"docker",route:"/theory/infra/loki-document/setup/install/docker"},{kind:"Folder",name:"helm",route:"/theory/infra/loki-document/setup/install/helm",children:[{kind:"Meta",data:{index:"소개",concepts:"Helm 차트 구성 요소","install-monolithic":"모놀리식 Loki 설치","install-microservices":"마이크로서비스 Loki 설치","install-scalable":"확장 가능한 Loki 설치","deployment-guides":"클라우드 배포 가이드","configure-storage":"스토리지 구성",values:"Helm 차트 값","monitor-and-alert":"모니터링"}},{kind:"MdxPage",name:"concepts",route:"/theory/infra/loki-document/setup/install/helm/concepts",frontMatter:{title:"Helm 차트 구성 요소",description:"Loki Helm 차트에서 설치하는 구성 요소를 알아봅니다."}},{kind:"MdxPage",name:"configure-storage",route:"/theory/infra/loki-document/setup/install/helm/configure-storage"},{kind:"Folder",name:"deployment-guides",route:"/theory/infra/loki-document/setup/install/helm/deployment-guides",children:[{kind:"Meta",data:{index:"소개",aws:"AWS에 배포",azure:"Azure에 배포",gcp:"GCP에 배포"}},{kind:"MdxPage",name:"aws",route:"/theory/infra/loki-document/setup/install/helm/deployment-guides/aws",frontMatter:{title:"AW
1S에서 Loki Helm 차트 배포",description:"AWS에서 Loki Helm 차트를 배포하는 방법을 알아봅니다."}},{kind:"MdxPage",name:"azure",route:"/theory/infra/loki-document/setup/install/helm/deployment-guides/azure"},{kind:"MdxPage",name:"gcp",route:"/theory/infra/loki-document/setup/install/helm/deployment-guides/gcp"},{kind:"MdxPage",name:"index",route:"/theory/infra/loki-document/setup/install/helm/deployment-guides",frontMatter:{title:"클라우드 배포 가이드",description:"클라우드 제공업체에 Loki를 배포하는 방법을 알아봅니다."}}]},{kind:"MdxPage",name:"install-microservices",route:"/theory/infra/loki-document/setup/install/helm/install-microservices",frontMatter:{title:"마이크로서비스 Helm 차트 설치",description:"마이크로서비스 모드에서 Loki Helm 차트를 설치하는 방법을 알아봅니다."}},{kind:"MdxPage",name:"install-monolithic",route:"/theory/infra/loki-document/setup/install/helm/install-monolithic",frontMatter:{title:"모놀리식 Helm 차트 설치",description:"모놀리식 모드에서 Loki Helm 차트를 설치하는 방법을 알아봅니다."}},{kind:"MdxPage",name:"install-scalable",route:"/theory/infra/loki-document/setup/install/helm/install-scalable",frontMatter:{title:"단순 확장 가능 Helm 차트 설치",description:"단순 확장 가능 모드에서 Loki Helm 차트를 설치하는 방법을 알아봅니다."}},{kind:"Folder",name:"monitor-and-alert",route:"/theory/infra/loki-document/setup/install/helm/monitor-and-alert",children:[{kind:"Meta",data:{index:"개요","with-grafana-cloud":"Grafana Cloud로 모니터링","with-local-monitoring":"로컬 모니터링"}},{kind:"MdxPage",name:"index",route:"/theory/infra/loki-document/setup/install/helm/monitor-and-alert"},{kind:"MdxPage",name:"with-grafana-cloud",route:"/theory/infra/loki-document/setup/install/helm/monitor-and-alert/with-grafana-cloud"},{kind:"MdxPage",name:"with-local-monitoring",route:"/theory/infra/loki-document/setup/install/helm/monitor-and-alert/with-local-monitoring"}]},{kind:"MdxPage",name:"values",route:"/theory/infra/loki-document/setup/install/helm/values"}]},{kind:"MdxPage",name:"helm",route:"/theory/infra/loki-document/setup/install/helm",frontMatter:{title:"Helm으로 Grafana Loki 설치",description:"Helm을 사용하여 Grafana Loki를 설치하는 방법을 알아봅니다."}},{kind:"MdxPage",name:"install-from-source",route:"/theory/infra/loki-document/setup/install/install-from-source"},{kind:"MdxPage",name:"istio",route:"/theory/infra/loki-document/setup/install/istio"},{kind:"MdxPage",name:"local",route:"/theory/infra/loki-document/setup/install/local"},{kind:"MdxPage",name:"tanka",route:"/theory/infra/loki-document/setup/install/tanka"}]},{kind:"MdxPage",name:"install",route:"/theory/infra/loki-document/setup/install",frontMatter:{title:"Loki 설치",description:"Loki를 설치하는 다양한 방법을 알아봅니다."}},{kind:"Folder",name:"migrate",route:"/theory/infra/loki-document/setup/migrate",children:[{kind:"Meta",data:{index:"개요","migrate-to-alloy":"Alloy로 마이그레이션","ssd-to-distributed":"SSD에서 분산으로 마이그레이션","migrate-to-tsdb":"TSDB로 마이그레이션","migrate-from-distributed":"`loki-distributed`에서 마이그레이션","migrate-to-three-scalable-targets":"세 개의 대상으로 마이그레이션","migrate-storage-clients":"Thanos 스토리지 클라이언트로 마이그레이션"}},{kind:"MdxPage",name:"index",route:"/theory/infra/loki-document/setup/migrate"},{kind:"MdxPage",name:"migrate-from-distributed",route:"/theory/infra/loki-document/setup/migrate/migrate-from-distributed"},{kind:"MdxPage",name:"migrate-storage-clients",route:"/theory/infra/loki-document/setup/migrate/migrate-storage-clients"},{kind:"MdxPage",name:"migrate-to-alloy",route:"/theory/infra/loki-document/setup/migrate/migrate-to-alloy"},{kind:"MdxPage",name:"migrate-to-three-scalable-targets",route:"/theory/infra/loki-document/setup/migrate/migrate-to-three-scalable-targets"},{kind:"MdxPage",name:"migrate-to-tsdb",route:"/theory/infra/loki-document/setup/migrate/migrate-to-tsdb"},{kind:"MdxPage",name:"ssd-to-distributed",route:"/theory/infra/loki-document/setup/migrate/ssd-to-distributed"}]},{kind:"MdxPage",name:"size",route:"/theory/infra/loki-document/setup/size",frontMatter:{title:"클러스터 크기 조정",description:"Loki 클러스터의 크기를 조정하는 방법을 알아봅니다."}},{kind:"Folder",name:"upgrade",route:"/theory/infra/loki-document/setup/upgrade",children:[{kind:"Meta",data:{index:"Overview"}},{kind:"MdxPage",name:"index",route:"/theory/infra/loki-document/setup/upgrade",frontMatter:{title:"Loki 업그레이드",description:"Loki를 업그레이드하는 방법을 알아봅니다."}}]}]}]},{kind:"MdxPage",name:"messaging",route:"/theory/infra/messaging"},{kind:"MdxPage",name:"rabbitmq-official",route:"/theory/infra/rabbitmq-official"},{kind:"Folder",name:"redis",route:"/theory/infra/redis",children:[{kind:"Meta",data:{"index-and-persistence":"Index And persistence",replication:"Replication(공식문서 번역)",sentinel:"Sentinel(공식문서 번역)"}},{kind:"MdxPage",name:"index-and-persistence",route:"/theory/infra/redis/index-and-persistence"},{kind:"MdxPage",name:"replication",route:"/theory/infra/redis/replication"},{kind:"MdxPage",name:"sentinel",route:"/theory/infra/redis/sentinel"}]}]},{kind:"Folder",name:"java",route:"/theory/java",children:[{kind:"Meta",data:{jvm:"JVM",gc:"GC",synchronized:"Synchronized"}},{kind:"MdxPage",name:"gc",route:"/theory/java/gc"},{kind:"MdxPage",name:"jvm",route:"/theory/java/jvm"},{kind:"MdxPage",name:"synchronized",route:"/theory/java/synchronized"}]},{kind:"Folder",name:"mongodb",route:"/theory/mongodb",children:[{kind:"Meta",data:{"transaction-vs-rdbms":"Transaction vs RDBMS","index-vs-rdbms":"Index vs RDBMS","mongodb-oom-killer":"MongoDB와 OOM Killer: 메모리 부족 문제 해결 가이드",report:"Report"}},{kind:"MdxPage",name:"index-vs-rdbms",route:"/theory/mongodb/index-vs-rdbms"},{kind:"MdxPage",name:"mongodb-oom-killer",route:"/theory/mongodb/mongodb-oom-killer",frontMatter:{title:"MongoDB와 OOM Killer: 메모리 부족 문제 해결 가이드",description:"Linux에서 MongoDB를 운영할 때 발생할 수 있는 OOM(Out of Memory) Killer 문제의 원인을 파악하고, 이를 방지하기 위한 시스템 및 데이터베이스 최적화 전략을 알아봅니다."}},{kind:"MdxPage",name:"report",route:"/theory/mongodb/report"},{kind:"MdxPage",name:"transaction-vs-rdbms",route:"/theory/mongodb/transaction-vs-rdbms"}]},{kind:"Folder",name:"network",route:"/theory/network",children:[{kind:"Meta",data:{"rate-limiter"
1:"Rate Limiter",multiplexing:"Multiplexing & Demultiplexing","stateless-and-connectionless":"Stateless & Connectionless",websocket:"WebSocket","http-versions-comparison":"HTTP 버전 비교 (1.1, 2, 3)"}},{kind:"MdxPage",name:"http-versions-comparison",route:"/theory/network/http-versions-comparison"},{kind:"MdxPage",name:"multiplexing",route:"/theory/network/multiplexing"},{kind:"MdxPage",name:"rate-limiter",route:"/theory/network/rate-limiter"},{kind:"MdxPage",name:"stateless-and-connectionless",route:"/theory/network/stateless-and-connectionless"},{kind:"MdxPage",name:"websocket",route:"/theory/network/websocket"}]},{kind:"Folder",name:"operating-system",route:"/theory/operating-system",children:[{kind:"Meta",data:{"process-thread":"프로세스와 스레드",ipc:"IPC","process-schedule":"프로세스 스케줄",thread:"스레드","process-sync":"프로세스 동기화","select-vs-epoll":"select vs epoll","memory-management":"Memory Management"}},{kind:"MdxPage",name:"ipc",route:"/theory/operating-system/ipc"},{kind:"MdxPage",name:"memory-management",route:"/theory/operating-system/memory-management"},{kind:"MdxPage",name:"process-schedule",route:"/theory/operating-system/process-schedule"},{kind:"MdxPage",name:"process-sync",route:"/theory/operating-system/process-sync"},{kind:"MdxPage",name:"process-thread",route:"/theory/operating-system/process-thread"},{kind:"MdxPage",name:"select-vs-epoll",route:"/theory/operating-system/select-vs-epoll"},{kind:"MdxPage",name:"thread",route:"/theory/operating-system/thread"}]},{kind:"Folder",name:"python",route:"/theory/python",children:[{kind:"Meta",data:{"python-interpreter":"Python Interpreter","libuv-vs-asyncio":"Libuv VS AsyncIO"}},{kind:"MdxPage",name:"libuv-vs-asyncio",route:"/theory/python/libuv-vs-asyncio"},{kind:"MdxPage",name:"python-interpreter",route:"/theory/python/python-interpreter"}]},{kind:"Folder",name:"security",route:"/theory/security",children:[{kind:"Meta",data:{"apple-vs-google-oauth-diff":"Apple & Goole OAuth 차이점","oauth-grant-type":"Oauth Grant Type"}},{kind:"MdxPage",name:"apple-vs-google-oauth-diff",route:"/theory/security/apple-vs-google-oauth-diff"},{kind:"MdxPage",name:"oauth-grant-type",route:"/theory/security/oauth-grant-type"}]},{kind:"Folder",name:"spring",route:"/theory/spring",children:[{kind:"Meta",data:{servlet:"서블릿"}},{kind:"MdxPage",name:"servlet",route:"/theory/spring/servlet"}]}]}],flexsearch:{codeblocks:!0},title:"Stock Price",headings:l},pageNextRoute:"/algorithm/programmers/python/stock-price",nextraLayout:r.ZP,themeConfig:i.Z};a.default=(0,o.j)(d)},39812:function(e,a,n){"use strict";var t=n(85893);n(67294);let o={logo:(0,t.jsx)("span",{style:{fontWeight:"bold"},children:"Rookedsysc"}),project:{link:"https://github.com/rookedsysc"},sidebar:{defaultMenuCollapseLevel:1,autoCollapse:!0,toggleButton:!0},chat:{link:"https://open.kakao.com/me/rookedsysc"},docsRepositoryBase:"https://github.com/rookedsysc/nextra-blog/tree/main",footer:{text:"Rookedsysc"}};a.Z=o},15789:function(){}},function(e){e.O(0,[49774,86976,92888,40179],function(){return e(e.s=65365)}),_N_E=e.O()}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.