<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>봉천동 적토마</title>
    <link>https://yesterday-kite.tistory.com/</link>
    <description>관심분야: LLM, RL</description>
    <language>ko</language>
    <pubDate>Sat, 16 May 2026 18:10:32 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>봉적</managingEditor>
    <image>
      <title>봉천동 적토마</title>
      <url>https://tistory1.daumcdn.net/tistory/3026950/attach/edf546699d12406d843e5f2652f0bada</url>
      <link>https://yesterday-kite.tistory.com</link>
    </image>
    <item>
      <title>프로그래머스/해쉬 : 베스트 앨범</title>
      <link>https://yesterday-kite.tistory.com/68</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/42579&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://school.programmers.co.kr/learn/courses/30/lessons/42579&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1705473584865&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;프로그래머스&quot; data-og-description=&quot;코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.&quot; data-og-host=&quot;programmers.co.kr&quot; data-og-source-url=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/42579&quot; data-og-url=&quot;https://programmers.co.kr/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/blAbuB/hyU5TSm6OO/Czjp0ZbKuUSfKOavx1vgu0/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/yFLgd/hyU5GeqB2L/xEBbEUaKayPrSHeyEkgj3k/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630&quot;&gt;&lt;a href=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/42579&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/42579&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/blAbuB/hyU5TSm6OO/Czjp0ZbKuUSfKOavx1vgu0/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/yFLgd/hyU5GeqB2L/xEBbEUaKayPrSHeyEkgj3k/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;프로그래머스&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;programmers.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1705473597013&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def solution(genres, plays):
    # key: 장르 , value: (곡의 index, play수)인 딕셔너리
    genere_dic = {}
    for i, g in enumerate(genres) : 
        if g not in genere_dic : genere_dic[g] = [(i, plays[i])] #index, play수
        else : genere_dic[g].append((i, plays[i])) #index, play수
            
    # 각 키 내에서 조건 2, 조건 3에 따라 정렬
    for genre, values in genere_dic.items():
        genere_dic[genre] = sorted(values, key=lambda x: (x[1], -x[0]), reverse=True)
        
    # 조건 1에 따라 키 정렬
    sorted_genere = sorted(genere_dic.items(), key=lambda x: sum(v[1] for v in x[1]), reverse=True)
    sorted_genere = dict(sorted_genere)
    
    # 결과 list로 정리 
    res = []
    for key, val in sorted_genere.items() : 
        if len(val) &amp;lt; 2 : 
            res.append(val[0][0])
        else : 
            res.append(val[0][0])
            res.append(val[1][0])
        
    return res&lt;/code&gt;&lt;/pre&gt;</description>
      <author>봉적</author>
      <guid isPermaLink="true">https://yesterday-kite.tistory.com/68</guid>
      <comments>https://yesterday-kite.tistory.com/68#entry68comment</comments>
      <pubDate>Wed, 17 Jan 2024 15:40:13 +0900</pubDate>
    </item>
    <item>
      <title>딥러닝 일반 질문 목록</title>
      <link>https://yesterday-kite.tistory.com/67</link>
      <description>&lt;h1&gt;questions&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;activation function을 쓰는 이유는?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;## reference&lt;br&gt;&lt;a href=&quot;ai-tech-interview&quot;&gt;https://github.com/boost-devs/ai-tech-interview/tree/main&lt;/a&gt;&lt;/p&gt;</description>
      <category>ml interview</category>
      <author>봉적</author>
      <guid isPermaLink="true">https://yesterday-kite.tistory.com/67</guid>
      <comments>https://yesterday-kite.tistory.com/67#entry67comment</comments>
      <pubDate>Tue, 5 Dec 2023 17:25:07 +0900</pubDate>
    </item>
    <item>
      <title>리뷰 정리</title>
      <link>https://yesterday-kite.tistory.com/65</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 20%;&quot;&gt;책 이름&lt;/td&gt;
&lt;td style=&quot;width: 20%;&quot;&gt;분야&lt;/td&gt;
&lt;td style=&quot;width: 20%;&quot;&gt;링크&lt;/td&gt;
&lt;td style=&quot;width: 20%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 20%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 20%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 20%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 20%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 20%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 20%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 20%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 20%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 20%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 20%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 20%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 20%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 20%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 20%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 20%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 20%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 20%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 20%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 20%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 20%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 20%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 20%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 20%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 20%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 20%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 20%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 20%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 20%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 20%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 20%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 20%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 20%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 20%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 20%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 20%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 20%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 20%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 20%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 20%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 20%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 20%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;</description>
      <category>책 리뷰</category>
      <author>봉적</author>
      <guid isPermaLink="true">https://yesterday-kite.tistory.com/65</guid>
      <comments>https://yesterday-kite.tistory.com/65#entry65comment</comments>
      <pubDate>Wed, 1 Feb 2023 10:47:08 +0900</pubDate>
    </item>
    <item>
      <title>[백준 #1181] 단어정렬 (파이썬)</title>
      <link>https://yesterday-kite.tistory.com/63</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/1181&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.acmicpc.net/problem/1181&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1669396436827&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;1181번: 단어 정렬&quot; data-og-description=&quot;첫째 줄에 단어의 개수 N이 주어진다. (1 &amp;le; N &amp;le; 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다.&quot; data-og-host=&quot;www.acmicpc.net&quot; data-og-source-url=&quot;https://www.acmicpc.net/problem/1181&quot; data-og-url=&quot;https://www.acmicpc.net/problem/1181&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/vDHBc/hyQGvIFzjC/SGImJO4lgEKTYc9sKqd4E0/img.png?width=2834&amp;amp;height=1480&amp;amp;face=0_0_2834_1480&quot;&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/1181&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.acmicpc.net/problem/1181&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/vDHBc/hyQGvIFzjC/SGImJO4lgEKTYc9sKqd4E0/img.png?width=2834&amp;amp;height=1480&amp;amp;face=0_0_2834_1480');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;1181번: 단어 정렬&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;첫째 줄에 단어의 개수 N이 주어진다. (1 &amp;le; N &amp;le; 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.acmicpc.net&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1669396514544&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import sys

n = int(sys.stdin.readline().strip()) #n = int(input())

dic = {}
for _ in range(n) :
    word = sys.stdin.readline().strip() #word = input()
    l = len(word)
    if l in dic :   dic[l].append(word) # 이미 딕셔너리에 존재할 경우
    else :          dic[l] = [word] # 딕셔너리에 해당 길이인 단어가 없을 경우

key_list = sorted(list(dic.keys())) # 길이 순 정렬
for key in key_list:
    for w in sorted(list(set(dic[key]))):  # 같은 길이인 단어들 중 중복 제거 후, 정렬
        print(w)&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1976&quot; data-origin-height=&quot;170&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/TgliX/btrR8yrfuFh/a1HDGp004Mui8Ht8IirpV0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/TgliX/btrR8yrfuFh/a1HDGp004Mui8Ht8IirpV0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/TgliX/btrR8yrfuFh/a1HDGp004Mui8Ht8IirpV0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FTgliX%2FbtrR8yrfuFh%2Fa1HDGp004Mui8Ht8IirpV0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1976&quot; height=&quot;170&quot; data-origin-width=&quot;1976&quot; data-origin-height=&quot;170&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;간단한 string 문제이기 때문에 속도를 높이기 위해 노력했다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;dictionary 사용 / key 기준 정렬로 전체 단어들 정렬 피했다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 결과 pypy 제출 답안중에서는 괜찮은 속도인 것 같다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래도 더 괜찮은 코드가 있을것같은데 잔디 채우고싶어서 술먹고꾸역꾸역 푼거라서 내일...찾아봐야지....&lt;/p&gt;</description>
      <author>봉적</author>
      <guid isPermaLink="true">https://yesterday-kite.tistory.com/63</guid>
      <comments>https://yesterday-kite.tistory.com/63#entry63comment</comments>
      <pubDate>Sat, 26 Nov 2022 02:19:45 +0900</pubDate>
    </item>
    <item>
      <title>1. Introduction</title>
      <link>https://yesterday-kite.tistory.com/62</link>
      <description>&lt;h1&gt;Introduction&lt;/h1&gt;
&lt;h2&gt;DB와 DBMS&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;데이터베이스(DB, database)&lt;/strong&gt;는 서로 연관 있는 데이터의 모임을 의미한다.&lt;br&gt;일반적으로 우리가 관심 있는 데이터베이스는 컴퓨터에 저장되어 있는 데이터이며, 또한 데이터 용량이 방대하며 이차 저장 장치인 하드디스크(HDD, hard disk drive) 또는 SSD(solid state drive)에 저장되는 데이터이다. &lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;컴퓨터에 데이터베이스가 저장되어 있으면, 이를 관리하는 소프트웨어가 필요하며 우리는 이를 &lt;strong&gt;데이터베이스 관리 시스템(DBMS, database management system)&lt;/strong&gt; 이라 한다. &lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;용어정리&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;DB : collection of data&lt;/li&gt;
&lt;li&gt;DBMS : Database Management System&lt;/li&gt;
&lt;li&gt;DBS : Database System&lt;/li&gt;
&lt;li&gt;여기에선 INTErchangeably 하게 쓴다!&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Advantages of DBMSs&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Data abstraction&lt;/li&gt;
&lt;li&gt;Easy accessing data&lt;ul&gt;
&lt;li&gt;접근위한 언어 제공 / UI 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Data redundancy (중복), inconsistency(불일치) 제어 용이&lt;/li&gt;
&lt;li&gt;IC(Intergrity constraint : 제약조건) 유지 용이&lt;ul&gt;
&lt;li&gt;데이터 무결성 제약조건은 데이터가 만족하여야 하는 조건&lt;/li&gt;
&lt;li&gt;EX) “학생의 학점 데이터는 최소값 0.0 최대값 4.5 내의 실수 값이어야 한다”&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Atomicity of updates (데이터 원자성)&lt;ul&gt;
&lt;li&gt;all :전부 잘 업데이트하거나&lt;/li&gt;
&lt;li&gt;nothing : 오류있으면 아예 업데이트하지않거나&lt;/li&gt;
&lt;li&gt;데이터 갱신 시에 갱신 연산이 부분적으로 데이터베이스에 반영되질 않음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다수 사용자의 동시성 제어&lt;/li&gt;
&lt;li&gt;Data security&lt;/li&gt;
&lt;li&gt;Data backup and recovery&lt;/li&gt;
&lt;/ul&gt;
&lt;h1&gt;1.2 Data Abstraction and Data Mdoel&lt;/h1&gt;
&lt;h2&gt;Schemas &amp;amp; Instance&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Schemas&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;types&lt;/td&gt;
&lt;td&gt;database의 logical/physical 구조&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Instances&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;variables&lt;/td&gt;
&lt;td&gt;schema 형태로 저장 관리될때, 데이터의 실제 값&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;h2&gt;Abstraction&lt;/h2&gt;
&lt;p&gt;전산학에서 추상화는 어떤 사물에 대한 세세한 개체(instance)로부터 중요한 개념을 분리하는 프로세스를 의미하며, 구현상에서만 관련 있는 사항이나 문제 해결에 중요하지 않은 사항을 제거하여 사람들이 문제 핵심 속성에만 집중하여 문제를 해결하게 한다&lt;/p&gt;
&lt;h3&gt;데이터 추상화 레벨&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;physical level&lt;ul&gt;
&lt;li&gt;물리적으로 어떻게 저장되는가&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;logical level&lt;ul&gt;
&lt;li&gt;논리적으로 db와 db가 어떤 관계를 가지고 있는지&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;view level&lt;ul&gt;
&lt;li&gt;어떤 유저가 이 db에 관련되어있고, 볼 수 있으며, 숨겨야하는지&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&quot;https://images.velog.io/images/yesterdaykite/post/b9414c6a-9d6b-4957-9d59-0fa5f883d6aa/image.png&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;p&gt;뷰 레벨(사용자에게 오직 관심있는 데이터만을 추상화) -&amp;gt; 로지컬 -&amp;gt; 물리적 레벨(실제 데이터 레코드가 어떻게 저장되는지 기술)&lt;/p&gt;
&lt;h2&gt;Data Independence&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;가급적 abstraction level들 간 독립되도록 헤야한다&lt;/li&gt;
&lt;li&gt;physical data independence&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;논리적 스키마 변화없이&lt;/strong&gt; 물리적 스키마를 변화할 수 있는 기능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;logicla data independence&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;뷰 스키마 변화없이&lt;/strong&gt; 논리적 스키마 변화 할 수 있는지&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Data Model&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;data model은 데이터, 관계성, 의미, 제약조건등을 기술하는 명세(specification) 혹은 개념적 도구(oconceptual tool) =&amp;gt; &lt;strong&gt;데이터 추상화를 지원하는 도구&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;이름&lt;/th&gt;
&lt;th&gt;설명&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;td&gt;Relatinal&lt;/td&gt;
&lt;td&gt;우리가 아는 테이블형식&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Object-relational&lt;/td&gt;
&lt;td&gt;relational 방식에 객체지향 요소를 부분적 도입&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;XML&lt;/td&gt;
&lt;td&gt;Extensible Markup Language. 문서 교환을 위한 표준 기술&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Database Design&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ER model&lt;/strong&gt; (Entity Relationship model)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&quot;https://images.velog.io/images/yesterdaykite/post/1ff6b979-6a6c-4a49-8b61-c322916e67bd/image.png&quot; alt=&quot;&quot;&gt;&lt;br&gt;    - entity와 relation으로 포함함&lt;br&gt;    - ER diagram으로 직관적으로 파악가능&lt;br&gt;    - ER 나오면 관계형으로 갈껀지 객체형으로 갈껀지 결정 가능&lt;br&gt;    - Normalization Theory : 내가 만든 스키마가 좋은지 안좋은지 판단 가능한 이론&lt;/p&gt;
&lt;h1&gt;1.3 Database System&lt;/h1&gt;
&lt;h2&gt;DBMS 의 component&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;https://images.velog.io/images/yesterdaykite/post/7cc44ad9-817a-4485-9822-48a4f4403119/image.png&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;query processor(질의어 처리기) : 질의어 처리, 권한 부여 및 철회, 인증 등 기능&lt;/li&gt;
&lt;li&gt;stoarage manager(저장 관리) : 데이터베이스 서버의 하단부분을 의미하며, 데이터 저장, 검색뿐만 아니라 화일 구조, 색인, 트랜잭션 관리 등의 업무를 담당&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Data dictionary&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;=data directory&lt;/li&gt;
&lt;li&gt;meta data를 저장중&lt;/li&gt;
&lt;li&gt;ex) schema, intergrity constraints, authorization, statiscal data ... &lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Transaction Management&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Concurrency control manager (동시성 제어 기능)&lt;ul&gt;
&lt;li&gt;사용자가 db를 저장해서 수정/검색/삭제등을 할때 DBMS에 전달&lt;/li&gt;
&lt;li&gt;DBSM에서는 transaction 형태로 변환하여 사용.&lt;/li&gt;
&lt;li&gt;이럴때 여러개의 transaction을 control하는게 concurrency control manager&lt;/li&gt;
&lt;li&gt;consistency를 보장한다&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Recovery manager(복구 기능)&lt;ul&gt;
&lt;li&gt;중간에 failure 발생하거나, 전기나갔을대 복구&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Database Users&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Naive user &lt;ul&gt;
&lt;li&gt;주어진 사용자 UI이용 + 주어진 절차 이용&lt;/li&gt;
&lt;li&gt;보통 사용자&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;DB administrator (DBA)&lt;ul&gt;
&lt;li&gt;스키마 정의, 저장 구조 및 접근 방법 정의, 스키마 및 물리 구조 변경, 데이터베이스 접근 권한 관리, 제약 조건 관리, 시스템 성능 관리 등 &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;그외 : Application programmers, DB designer, DB analysist, &lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Database System Architercture&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;데이터 위치에 의거하여 분류&lt;ul&gt;
&lt;li&gt;Centralized&lt;/li&gt;
&lt;li&gt;Distributed &lt;/li&gt;
&lt;li&gt;Client-server&lt;/li&gt;
&lt;li&gt;Parallel(multi-processor) : 컴퓨터 병렬처리 기술을 DB시스템에 적용한 경우&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;DB system의 역사&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;1950s &amp;amp; 1960s&lt;ul&gt;
&lt;li&gt;magnetic tapes, pucned card는 sequqential하게 밖에 읽지 못하지만&lt;/li&gt;
&lt;li&gt;hard disk 는 바로 접근이 가능해서 DB의 본격적 등장  &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;1970s&lt;ul&gt;
&lt;li&gt;E.Codd가 최초의 관계형 DB 모델 제안&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;1980s&lt;ul&gt;
&lt;li&gt;상업적으로 관계형 DB 모델 사용 시작&lt;/li&gt;
&lt;li&gt;관계지향 DB 등장&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;1990s&lt;ul&gt;
&lt;li&gt;data-mining&lt;/li&gt;
&lt;li&gt;data warehouse -&amp;gt; decision making에 활용&lt;/li&gt;
&lt;li&gt;web commerce 등장&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;2000s&lt;ul&gt;
&lt;li&gt;XML 등장&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;2010s&lt;ul&gt;
&lt;li&gt;Big data&lt;/li&gt;
&lt;li&gt;NO SQL &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>Computer Science/Database</category>
      <category>CS</category>
      <category>DB</category>
      <author>봉적</author>
      <guid isPermaLink="true">https://yesterday-kite.tistory.com/62</guid>
      <comments>https://yesterday-kite.tistory.com/62#entry62comment</comments>
      <pubDate>Fri, 25 Nov 2022 01:48:25 +0900</pubDate>
    </item>
    <item>
      <title>시작</title>
      <link>https://yesterday-kite.tistory.com/61</link>
      <description>&lt;ul&gt;
&lt;li&gt;수강일시 : 2021년 3학년 2학기&lt;/li&gt;
&lt;li&gt;교수님 : 박동주 교수님&lt;/li&gt;
&lt;li&gt;교재 : Database Systems Concepts/A. Silberschats, H. Korth, S./McGraw Hill&lt;br&gt;&lt;img src=&quot;https://images.velog.io/images/yesterdaykite/post/d0885deb-e329-4a81-8ee3-14c5d902d641/image.png&quot; alt=&quot;&quot;&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>Computer Science/Database</category>
      <category>CS</category>
      <category>DB</category>
      <author>봉적</author>
      <guid isPermaLink="true">https://yesterday-kite.tistory.com/61</guid>
      <comments>https://yesterday-kite.tistory.com/61#entry61comment</comments>
      <pubDate>Fri, 25 Nov 2022 01:47:45 +0900</pubDate>
    </item>
    <item>
      <title>[백준 #13549] 숨바꼭질3 (파이썬)</title>
      <link>https://yesterday-kite.tistory.com/60</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/13549&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.acmicpc.net/problem/13549&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1669304093384&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;13549번: 숨바꼭질 3&quot; data-og-description=&quot;수빈이는 동생과&amp;nbsp;숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 &amp;le; N &amp;le; 100,000)에 있고, 동생은 점 K(0 &amp;le; K &amp;le; 100,000)에&amp;nbsp;있다.&amp;nbsp;수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 &quot; data-og-host=&quot;www.acmicpc.net&quot; data-og-source-url=&quot;https://www.acmicpc.net/problem/13549&quot; data-og-url=&quot;https://www.acmicpc.net/problem/13549&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cUiO2o/hyQGjgBJPD/YjxykUTdXhviqYrbO3sjYK/img.png?width=2834&amp;amp;height=1480&amp;amp;face=0_0_2834_1480&quot;&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/13549&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.acmicpc.net/problem/13549&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cUiO2o/hyQGjgBJPD/YjxykUTdXhviqYrbO3sjYK/img.png?width=2834&amp;amp;height=1480&amp;amp;face=0_0_2834_1480');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;13549번: 숨바꼭질 3&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;수빈이는 동생과&amp;nbsp;숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 &amp;le; N &amp;le; 100,000)에 있고, 동생은 점 K(0 &amp;le; K &amp;le; 100,000)에&amp;nbsp;있다.&amp;nbsp;수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.acmicpc.net&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;1. BFS문제인데 DP로 생각했다.&lt;br /&gt;2. 우선순위큐를 활용한 BFS라 신기했다.&amp;nbsp;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;처음 풀때&amp;nbsp;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;d&lt;/span&gt;&lt;span style=&quot;color: #dcdcdc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #dcdcdc;&quot;&gt;]&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt; = &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;d&lt;/span&gt;&lt;span style=&quot;color: #dcdcdc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #dcdcdc;&quot;&gt;]&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt; = &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;d&lt;/span&gt;&lt;span style=&quot;color: #dcdcdc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #dcdcdc;&quot;&gt;]&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt; = &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #6aa94f;&quot;&gt;#(d[1]*2 = d[2])&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;d&lt;/span&gt;&lt;span style=&quot;color: #dcdcdc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #dcdcdc;&quot;&gt;]&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt; = &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #6aa94f;&quot;&gt;# d[2]+1&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;d&lt;/span&gt;&lt;span style=&quot;color: #dcdcdc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #dcdcdc;&quot;&gt;]&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt; = &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #6aa94f;&quot;&gt;# min(d[4//2], d[3]+1) = d[2]*2 = 1&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;d&lt;/span&gt;&lt;span style=&quot;color: #dcdcdc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #dcdcdc;&quot;&gt;]&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt; = &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #6aa94f;&quot;&gt;# d[4]+1 or d[6]+1&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;d&lt;/span&gt;&lt;span style=&quot;color: #dcdcdc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #dcdcdc;&quot;&gt;]&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt; = &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #6aa94f;&quot;&gt;# d[6//2] = d[3]&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런식으로 하나씩 쓰다보면서 규칙을 발견해보려고 했다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;짝수인경우) X_i = min( X_i/2 , X_i-1 + 1)&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;홀수인경우) X_i = X_i-1 + 1&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이라는 점화식을 세웠다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1669304226247&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;subin, target = map(int, input().split())

d = [-1] * 100002
d[subin] = 0
d[subin+1] = 1
for i in range(subin+2, target+1) : 
    if i%2 == 0 and d[i//2] != -1: 
        d[i] = min(d[i//2], d[i-1]+1)
    else :
        d[i] = d[i-1] + 1

print(d[target])&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;근데&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;975&quot; data-origin-height=&quot;108&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bI5Hvp/btrR5yQTvMj/bHK7j6vL0J2yftZ2kGrKV1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bI5Hvp/btrR5yQTvMj/bHK7j6vL0J2yftZ2kGrKV1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bI5Hvp/btrR5yQTvMj/bHK7j6vL0J2yftZ2kGrKV1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbI5Hvp%2FbtrR5yQTvMj%2FbHK7j6vL0J2yftZ2kGrKV1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;975&quot; height=&quot;108&quot; data-origin-width=&quot;975&quot; data-origin-height=&quot;108&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하하하!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;로그 찍어보니까&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;142&quot; data-origin-height=&quot;191&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cNK0Ev/btrR2Swnln1/tcUly0Q4lCPgH7zGkrKV9K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cNK0Ev/btrR2Swnln1/tcUly0Q4lCPgH7zGkrKV9K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cNK0Ev/btrR2Swnln1/tcUly0Q4lCPgH7zGkrKV9K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcNK0Ev%2FbtrR2Swnln1%2FtcUly0Q4lCPgH7zGkrKV9K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;142&quot; height=&quot;191&quot; data-origin-width=&quot;142&quot; data-origin-height=&quot;191&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 나왔다. 최적값을 제대로 못 구하고 있음을 알 수 있다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;두배수로 점프하는게 가장 적은 값인데, 이걸 한번 배열 전체에 기록을 하고, 또 이걸기반으로 또 배열 전체를 기록을 하는 식으로 진행해야 최적값을 제대로 구할 수 있음을 알게 됐다. (나는 배열 전체를 한번만 검색하는 식으로 만들어서,, 최적값이 나올 수 가 없었다.)&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 검색하니까 DP가 아니라 BFS 더라 .. ^^&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;오해해서 미안했다..&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1090&quot; data-origin-height=&quot;999&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Brald/btrR4wFR8Uv/EYfgzs6S8oSuPdSMouZdiK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Brald/btrR4wFR8Uv/EYfgzs6S8oSuPdSMouZdiK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Brald/btrR4wFR8Uv/EYfgzs6S8oSuPdSMouZdiK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBrald%2FbtrR4wFR8Uv%2FEYfgzs6S8oSuPdSMouZdiK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;611&quot; height=&quot;560&quot; data-origin-width=&quot;1090&quot; data-origin-height=&quot;999&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 우선순위 큐를 돌리면 빠르게 최적값을 찾아낼 수 있다!!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런식의 우선순위큐를 활용한 BFS도 있군아 재밌다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;최종 코드&lt;/h3&gt;
&lt;pre id=&quot;code_1669304934003&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;from collections import deque 

def bfs() :
    graph = [-1] * 100001
    graph[subin] = 0
    que = deque([subin])

    while que :
        target = que.popleft()
        
        # 동생 위치에 도달시(정답발견)
        if target == sister :
            return graph[target]
        
        for i in (target+1, target-1, target*2) : # 세가지 방법을 순서대로 진행
            # 이동하는 곳이 범위내이며 / 한번도 방문하지 않았으면
            if 0&amp;lt;=i&amp;lt;=100000 and graph[i] == -1 :
                # 순간이동인경우
                if i == target*2 :
                    graph[i] = graph[target]
                    que.appendleft(i) # 순간이동이니까 먼저 탐색
                else :
                    graph[i] = graph[target] + 1
                    que.append(i)

subin, sister = map(int, input().split())
print(bfs())&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1205&quot; data-origin-height=&quot;86&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/PvbEq/btrR6dy37RT/ZCat1LqFcQhvpaR87Jd6zk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/PvbEq/btrR6dy37RT/ZCat1LqFcQhvpaR87Jd6zk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/PvbEq/btrR6dy37RT/ZCat1LqFcQhvpaR87Jd6zk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPvbEq%2FbtrR6dy37RT%2FZCat1LqFcQhvpaR87Jd6zk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1205&quot; height=&quot;86&quot; data-origin-width=&quot;1205&quot; data-origin-height=&quot;86&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;굿!&lt;/p&gt;</description>
      <category>알고리즘 풀이</category>
      <category>BFS</category>
      <category>알고리즘</category>
      <author>봉적</author>
      <guid isPermaLink="true">https://yesterday-kite.tistory.com/60</guid>
      <comments>https://yesterday-kite.tistory.com/60#entry60comment</comments>
      <pubDate>Fri, 25 Nov 2022 00:50:39 +0900</pubDate>
    </item>
    <item>
      <title>재학중 + 혼자 공부한 과목들</title>
      <link>https://yesterday-kite.tistory.com/59</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 424px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 19px;&quot;&gt;
&lt;td style=&quot;width: 24.186%; height: 19px;&quot;&gt;과목명&lt;/td&gt;
&lt;td style=&quot;width: 20.1163%; height: 19px;&quot;&gt;내용&lt;/td&gt;
&lt;td style=&quot;width: 30.6977%; height: 19px;&quot;&gt;학습방식&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 19px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 19px;&quot;&gt;
&lt;td style=&quot;width: 24.186%; height: 19px;&quot;&gt;확률과 통계&lt;/td&gt;
&lt;td style=&quot;width: 20.1163%; height: 19px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 30.6977%; height: 19px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 19px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 19px;&quot;&gt;
&lt;td style=&quot;width: 24.186%; height: 19px;&quot;&gt;확률과 통계 실습&lt;/td&gt;
&lt;td style=&quot;width: 20.1163%; height: 19px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 30.6977%; height: 19px;&quot;&gt;R로 통계 검증 프로젝트 진행&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 19px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 19px;&quot;&gt;
&lt;td style=&quot;width: 24.186%; height: 19px;&quot;&gt;컴퓨터수학1,2&lt;/td&gt;
&lt;td style=&quot;width: 20.1163%; height: 19px;&quot;&gt;이산수학&lt;/td&gt;
&lt;td style=&quot;width: 30.6977%; height: 19px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 19px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 19px;&quot;&gt;
&lt;td style=&quot;width: 24.186%; height: 19px;&quot;&gt;프로그래밍 및 실습 1,2&lt;/td&gt;
&lt;td style=&quot;width: 20.1163%; height: 19px;&quot;&gt;C언어&lt;/td&gt;
&lt;td style=&quot;width: 30.6977%; height: 19px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 19px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 19px;&quot;&gt;
&lt;td style=&quot;width: 24.186%; height: 19px;&quot;&gt;공학수학1&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 20.1163%; height: 19px;&quot;&gt;미적분&lt;/td&gt;
&lt;td style=&quot;width: 30.6977%; height: 19px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 19px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 24.186%; height: 17px;&quot;&gt;자료구조&lt;/td&gt;
&lt;td style=&quot;width: 20.1163%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 30.6977%; height: 17px;&quot;&gt;C++로 자료구조 구현&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 24.186%; height: 17px;&quot;&gt;선형대수&lt;/td&gt;
&lt;td style=&quot;width: 20.1163%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 30.6977%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 24.186%; height: 17px;&quot;&gt;객체지향프로그래밍&lt;/td&gt;
&lt;td style=&quot;width: 20.1163%; height: 17px;&quot;&gt;OPP + Java&lt;/td&gt;
&lt;td style=&quot;width: 30.6977%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 24.186%; height: 17px;&quot;&gt;논리회로설계 및 실험&lt;/td&gt;
&lt;td style=&quot;width: 20.1163%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 30.6977%; height: 17px;&quot;&gt;이론 및 회로 실험&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 24.186%; height: 17px;&quot;&gt;데이터분석기초&lt;/td&gt;
&lt;td style=&quot;width: 20.1163%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 30.6977%; height: 17px;&quot;&gt;R로 데이터분석 실습&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 24.186%; height: 17px;&quot;&gt;알고리즘&lt;/td&gt;
&lt;td style=&quot;width: 20.1163%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 30.6977%; height: 17px;&quot;&gt;C로 알고리즘 구현&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 24.186%; height: 17px;&quot;&gt;운영체제&lt;/td&gt;
&lt;td style=&quot;width: 20.1163%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 30.6977%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 19px;&quot;&gt;
&lt;td style=&quot;width: 24.186%; height: 19px;&quot;&gt;컴퓨터구조&lt;/td&gt;
&lt;td style=&quot;width: 20.1163%; height: 19px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 30.6977%; height: 19px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 19px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 19px;&quot;&gt;
&lt;td style=&quot;width: 24.186%; height: 19px;&quot;&gt;프로그래밍 언어론&lt;/td&gt;
&lt;td style=&quot;width: 20.1163%; height: 19px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 30.6977%; height: 19px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 19px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 24.186%; height: 17px;&quot;&gt;리눅스 시스템 프로그래밍&lt;/td&gt;
&lt;td style=&quot;width: 20.1163%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 30.6977%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 24.186%; height: 17px;&quot;&gt;정보보안&lt;/td&gt;
&lt;td style=&quot;width: 20.1163%; height: 17px;&quot;&gt;현대암호학의 이해&lt;/td&gt;
&lt;td style=&quot;width: 30.6977%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 24.186%; height: 17px;&quot;&gt;컴퓨터네트워크&lt;/td&gt;
&lt;td style=&quot;width: 20.1163%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 30.6977%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 24.186%; height: 17px;&quot;&gt;미디어GAN&lt;/td&gt;
&lt;td style=&quot;width: 20.1163%; height: 17px;&quot;&gt;CNN, GAN&lt;/td&gt;
&lt;td style=&quot;width: 30.6977%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 24.186%; height: 17px;&quot;&gt;시스템프로그래밍&lt;/td&gt;
&lt;td style=&quot;width: 20.1163%; height: 17px;&quot;&gt;어셈블러 및 컴파일러의 이해&lt;/td&gt;
&lt;td style=&quot;width: 30.6977%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 24.186%; height: 17px;&quot;&gt;영상처리 및 실습&lt;/td&gt;
&lt;td style=&quot;width: 20.1163%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 30.6977%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 24.186%; height: 17px;&quot;&gt;파일처리&lt;/td&gt;
&lt;td style=&quot;width: 20.1163%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 30.6977%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 24.186%; height: 17px;&quot;&gt;형식언어 및 오토마타&lt;/td&gt;
&lt;td style=&quot;width: 20.1163%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 30.6977%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 24.186%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 20.1163%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 30.6977%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;</description>
      <category>Computer Science</category>
      <author>봉적</author>
      <guid isPermaLink="true">https://yesterday-kite.tistory.com/59</guid>
      <comments>https://yesterday-kite.tistory.com/59#entry59comment</comments>
      <pubDate>Thu, 24 Nov 2022 02:35:54 +0900</pubDate>
    </item>
    <item>
      <title>[구글 코랩] runtime 도중 exit() 이 가능할까?</title>
      <link>https://yesterday-kite.tistory.com/58</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;요즘 GAN 수업도 그렇고, 알고리즘 풀이 history를 한눈에 기록하기 위해서 구글 코랩을 자주 사용하고 있다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;문제상황 : google colab 코드 안에 exit() 함수를 썼는데 오류가 난다  &lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://stackoverflow.com/questions/50541851/is-there-a-function-in-google-colab-module-to-close-the-runtime&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://stackoverflow.com/questions/50541851/is-there-a-function-in-google-colab-module-to-close-the-runtime&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1669223886847&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Is there a function in google.colab module to close the runtime&quot; data-og-description=&quot;Sometimes when I give run in google.colab I cant stay infront of the computer to manually disconnect from the server when the run is complete and the connection stays on even when my run is complete&quot; data-og-host=&quot;stackoverflow.com&quot; data-og-source-url=&quot;https://stackoverflow.com/questions/50541851/is-there-a-function-in-google-colab-module-to-close-the-runtime&quot; data-og-url=&quot;https://stackoverflow.com/questions/50541851/is-there-a-function-in-google-colab-module-to-close-the-runtime&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/4wubc/hyQGv1y8sL/fl62PMpbVMFj9kCvpc8jAk/img.png?width=316&amp;amp;height=316&amp;amp;face=0_0_316_316&quot;&gt;&lt;a href=&quot;https://stackoverflow.com/questions/50541851/is-there-a-function-in-google-colab-module-to-close-the-runtime&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://stackoverflow.com/questions/50541851/is-there-a-function-in-google-colab-module-to-close-the-runtime&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/4wubc/hyQGv1y8sL/fl62PMpbVMFj9kCvpc8jAk/img.png?width=316&amp;amp;height=316&amp;amp;face=0_0_316_316');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Is there a function in google.colab module to close the runtime&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Sometimes when I give run in google.colab I cant stay infront of the computer to manually disconnect from the server when the run is complete and the connection stays on even when my run is complete&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;stackoverflow.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2019년 8월 기준으로 exit()과 quit()은 지원하지 않는다고 한다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대신 명령어&lt;/p&gt;
&lt;pre id=&quot;code_1669223980203&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;!kill -9 -1&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;을 사용하라고 추천되긴 했지만 accidental disconnect로 간주하여 런타임이 새로 시작하게 되는 명령어이기 때문에&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;뭔가 찝찝..한 면이 있었다. (프로그램을 정상종료시키려는 의도랑은 좀 머니까)&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그런데 &lt;a href=&quot;https://twitter.com/googlecolab/status/1569389018311426051?lang=en&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2022년 부터 programmatically 코랩 세션을 종료할 수 있게 됐다&lt;/a&gt;고 한다.  ⬇️&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1669224109741&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;from google.colab import runtime
runtime.unassign()&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>이것저것 에러로그</category>
      <author>봉적</author>
      <guid isPermaLink="true">https://yesterday-kite.tistory.com/58</guid>
      <comments>https://yesterday-kite.tistory.com/58#entry58comment</comments>
      <pubDate>Thu, 24 Nov 2022 02:23:03 +0900</pubDate>
    </item>
    <item>
      <title>그래프 &amp;lt;-&amp;gt; 트리</title>
      <link>https://yesterday-kite.tistory.com/57</link>
      <description>&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;.&lt;/th&gt;
&lt;th&gt;그래프&lt;/th&gt;
&lt;th&gt;트리&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;td&gt;방향성&lt;/td&gt;
&lt;td&gt;방향 그래프 혹은 무방향 그래프&lt;/td&gt;
&lt;td&gt;방향그래프&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;순환성&lt;/td&gt;
&lt;td&gt;순환 및 비순환&lt;/td&gt;
&lt;td&gt;비순환&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;루트 노드 존재 여부&lt;/td&gt;
&lt;td&gt;루트 노드 없음&lt;/td&gt;
&lt;td&gt;루트 노드 존재&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;노드간 관계성&lt;/td&gt;
&lt;td&gt;부모-자식 관계 없음&lt;/td&gt;
&lt;td&gt;부모-자식 관계&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;모델의 종류&lt;/td&gt;
&lt;td&gt;네트워크모델&lt;/td&gt;
&lt;td&gt;계층모델&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;</description>
      <category>Computer Science/Data Structure</category>
      <category>CS</category>
      <category>DataStructure</category>
      <author>봉적</author>
      <guid isPermaLink="true">https://yesterday-kite.tistory.com/57</guid>
      <comments>https://yesterday-kite.tistory.com/57#entry57comment</comments>
      <pubDate>Thu, 24 Nov 2022 02:11:28 +0900</pubDate>
    </item>
  </channel>
</rss>