<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>코딩몬의 일기장</title>
    <link>https://meronic.tistory.com/</link>
    <description>옷 못입는 공대생 코딩몬</description>
    <language>ko</language>
    <pubDate>Sun, 27 Sep 2026 23:25:02 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>Coding_mon</managingEditor>
    <image>
      <title>코딩몬의 일기장</title>
      <url>https://tistory1.daumcdn.net/tistory/3722179/attach/7c96d1bfdff94c5bb01f92bb8400feec</url>
      <link>https://meronic.tistory.com</link>
    </image>
    <item>
      <title>자바상식</title>
      <link>https://meronic.tistory.com/73</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;1.&amp;nbsp;클래스를&amp;nbsp;사용할때&amp;nbsp;new는&amp;nbsp;왜&amp;nbsp;사용하는가? &lt;br /&gt;클래스를&amp;nbsp;인스턴스화&amp;nbsp;할때&amp;nbsp;new&amp;nbsp;키워드를&amp;nbsp;사용 &lt;br /&gt;new를&amp;nbsp;사용하면&amp;nbsp;객체를&amp;nbsp;실제&amp;nbsp;메모리에&amp;nbsp;장소를&amp;nbsp;만들어&amp;nbsp;사용할&amp;nbsp;수&amp;nbsp;있게&amp;nbsp;해준다 &lt;br /&gt;&lt;br /&gt;-&amp;nbsp;메모리&amp;nbsp;할당&amp;nbsp;:&amp;nbsp;new를&amp;nbsp;사용하면&amp;nbsp;java는&amp;nbsp;Heap의&amp;nbsp;새&amp;nbsp;객체에&amp;nbsp;메모리를&amp;nbsp;할당함,&amp;nbsp;객체를&amp;nbsp;Heap에&amp;nbsp;저장하면&amp;nbsp;수명이&amp;nbsp;길어짐 &lt;br /&gt;-&amp;nbsp;생성자&amp;nbsp;호출&amp;nbsp;:&amp;nbsp;new키워드&amp;nbsp;뒤에는&amp;nbsp;클래스&amp;nbsp;생성자가&amp;nbsp;호줄이&amp;nbsp;됨&amp;nbsp;-&amp;gt;&amp;nbsp;객체가&amp;nbsp;초기화&amp;nbsp;되어&amp;nbsp;초기&amp;nbsp;상태가&amp;nbsp;설정&amp;nbsp;됨&amp;nbsp;-&amp;gt;&amp;nbsp;인수를&amp;nbsp;취하며&amp;nbsp;객체에&amp;nbsp;초기&amp;nbsp;값을&amp;nbsp;전달할&amp;nbsp;수&amp;nbsp;있음 &lt;br /&gt;-&amp;nbsp;인스턴스&amp;nbsp;생성&amp;nbsp;:&amp;nbsp;new를&amp;nbsp;사용하면&amp;nbsp;클래스의&amp;nbsp;인스턴스가&amp;nbsp;생성&amp;nbsp;:&amp;nbsp;인스턴스는&amp;nbsp;고유한&amp;nbsp;데이터(속성)&amp;nbsp;및&amp;nbsp;메소드(함수)&amp;nbsp;세트를&amp;nbsp;포함하는&amp;nbsp;클래스의&amp;nbsp;개별&amp;nbsp;구현&amp;nbsp;-&amp;gt;&amp;nbsp;이를&amp;nbsp;통해&amp;nbsp;각각&amp;nbsp;고유한&amp;nbsp;상태를&amp;nbsp;갖는&amp;nbsp;동일한&amp;nbsp;클래스의&amp;nbsp;여러&amp;nbsp;객체를&amp;nbsp;생성가능 &lt;br /&gt;-&amp;nbsp;유형지정&amp;nbsp;:&amp;nbsp;new를&amp;nbsp;사용할&amp;nbsp;때&amp;nbsp;생성&amp;nbsp;중인&amp;nbsp;객체의&amp;nbsp;유형을&amp;nbsp;명시적으로&amp;nbsp;지정&amp;nbsp;-&amp;gt;&amp;nbsp;이는&amp;nbsp;해당&amp;nbsp;유형에&amp;nbsp;유효한&amp;nbsp;객체에&amp;nbsp;대해서만&amp;nbsp;작업을&amp;nbsp;수행하도록&amp;nbsp;보장 &lt;br /&gt;&lt;br /&gt;ex)&amp;nbsp;Car&amp;nbsp;myCar&amp;nbsp;=&amp;nbsp;new&amp;nbsp;Car();&amp;nbsp;라고&amp;nbsp;선언하는&amp;nbsp;경우 &lt;br /&gt;&amp;gt;&amp;nbsp;Heap의&amp;nbsp;Car&amp;nbsp;객체에&amp;nbsp;대한&amp;nbsp;메모리&amp;nbsp;할당 &lt;br /&gt;&amp;gt;&amp;nbsp;Car&amp;nbsp;클래스의&amp;nbsp;생성자를&amp;nbsp;호출하여&amp;nbsp;myCar&amp;nbsp;객체를&amp;nbsp;초기화 &lt;br /&gt;&amp;gt;&amp;nbsp;myCar는&amp;nbsp;Car&amp;nbsp;유형이고&amp;nbsp;Car&amp;nbsp;클래스에&amp;nbsp;정의된&amp;nbsp;모든&amp;nbsp;메서드와&amp;nbsp;속성을&amp;nbsp;사용할&amp;nbsp;수&amp;nbsp;있음을&amp;nbsp;선언 &lt;br /&gt;&lt;br /&gt;*&amp;nbsp;new가&amp;nbsp;없으면&amp;nbsp;객체지향&amp;nbsp;프로그래밍의&amp;nbsp;기본&amp;nbsp;개념인&amp;nbsp;클래스의&amp;nbsp;인스턴스를&amp;nbsp;만들&amp;nbsp;수&amp;nbsp;없음 &lt;br /&gt;*&amp;nbsp;실제&amp;nbsp;메모리에&amp;nbsp;만들어진&amp;nbsp;실체를&amp;nbsp;객체&amp;nbsp;또는&amp;nbsp;인스턴스라고&amp;nbsp;한다 &lt;br /&gt;*&amp;nbsp;클래스를&amp;nbsp;사용해서&amp;nbsp;원하는&amp;nbsp;종류의&amp;nbsp;데이터&amp;nbsp;타입을&amp;nbsp;마음껏&amp;nbsp;정의할&amp;nbsp;수&amp;nbsp;있다. &lt;br /&gt;*&amp;nbsp;Car&amp;nbsp;myCar는&amp;nbsp;Car&amp;nbsp;타입을&amp;nbsp;받을&amp;nbsp;수&amp;nbsp;있는&amp;nbsp;변수를&amp;nbsp;선언한다는&amp;nbsp;뜻&amp;nbsp;이다. &lt;br /&gt;&lt;br /&gt;2.&amp;nbsp;클래스를&amp;nbsp;사용하는&amp;nbsp;순서 &lt;br /&gt;&lt;br /&gt;1)&amp;nbsp;변수&amp;nbsp;선언&amp;nbsp;:&amp;nbsp;클래스&amp;nbsp;타입을&amp;nbsp;받을&amp;nbsp;수&amp;nbsp;있는&amp;nbsp;변수를&amp;nbsp;선언 &lt;br /&gt;2)&amp;nbsp;객체&amp;nbsp;생성&amp;nbsp;:&amp;nbsp;new&amp;nbsp;키워드를&amp;nbsp;사용하여&amp;nbsp;새로운&amp;nbsp;객체(인스턴스를&amp;nbsp;)&amp;nbsp;메모리상에&amp;nbsp;생성&amp;nbsp;-&amp;gt;&amp;nbsp;멤버변수를&amp;nbsp;저장할&amp;nbsp;메모리공간도&amp;nbsp;같이&amp;nbsp;생성 &lt;br /&gt;3)&amp;nbsp;참조값&amp;nbsp;보관&amp;nbsp;:&amp;nbsp;객체를&amp;nbsp;생성하면&amp;nbsp;자바는&amp;nbsp;메모리&amp;nbsp;어딘가에&amp;nbsp;있는&amp;nbsp;객체에&amp;nbsp;접근할&amp;nbsp;수&amp;nbsp;있는&amp;nbsp;참조값(주소)를&amp;nbsp;반환한다. &lt;br /&gt;4)&amp;nbsp;객체&amp;nbsp;연결끊기&amp;nbsp;:&amp;nbsp;객체에&amp;nbsp;null을&amp;nbsp;할당하면&amp;nbsp;객체의&amp;nbsp;연결이&amp;nbsp;끊긴다&amp;nbsp;-&amp;gt;&amp;nbsp;더이상&amp;nbsp;객체사용불가 &lt;br /&gt;&lt;br /&gt;3.&amp;nbsp;static&amp;nbsp;키워드 &lt;br /&gt;&amp;gt;&amp;nbsp;클래스의&amp;nbsp;속성과&amp;nbsp;메서드에&amp;nbsp;static&amp;nbsp;키워드를&amp;nbsp;사용하면&amp;nbsp;어디서나&amp;nbsp;속성과&amp;nbsp;메서드를&amp;nbsp;공유할&amp;nbsp;수&amp;nbsp;있다. &lt;br /&gt;&lt;br /&gt;4.&amp;nbsp;상속&amp;nbsp;extend&amp;nbsp;키워드 &lt;br /&gt;&amp;gt;&amp;nbsp;부모를&amp;nbsp;상속받은&amp;nbsp;자식에서는&amp;nbsp;부모의&amp;nbsp;멤버변수와&amp;nbsp;메서드를&amp;nbsp;사용할&amp;nbsp;수&amp;nbsp;있다. &lt;br /&gt;&amp;gt;&amp;nbsp;상위&amp;nbsp;클래스를&amp;nbsp;호출할때는&amp;nbsp;super키워드를&amp;nbsp;사용한다. &lt;br /&gt;&lt;br /&gt;5.&amp;nbsp;최상위&amp;nbsp;클래스는&amp;nbsp;Object&amp;nbsp;클래스&amp;nbsp;이다 &lt;br /&gt;&amp;gt;&amp;nbsp;모든&amp;nbsp;클래스는&amp;nbsp;Object&amp;nbsp;클래스를&amp;nbsp;상속&amp;nbsp;받는다 &lt;br /&gt;&lt;br /&gt;6.&amp;nbsp;내부클래스&amp;nbsp;사용방법 &lt;br /&gt;1)&amp;nbsp;static&amp;nbsp;선언을&amp;nbsp;하지&amp;nbsp;않은&amp;nbsp;내부클래스&amp;nbsp;사용방법 &lt;br /&gt;&amp;gt;&amp;nbsp;외부클래스&amp;nbsp;변수를&amp;nbsp;먼저&amp;nbsp;선언한&amp;nbsp;후&amp;nbsp;외부클래스변수.new&amp;nbsp;키워드를&amp;nbsp;선언하여&amp;nbsp;사용한다 &lt;br /&gt;ex)&amp;nbsp;외부클래스.내부클래스&amp;nbsp;{내부클래스변수명}&amp;nbsp;=&amp;nbsp;{외부클래스}.new&amp;nbsp;내부클래스 &lt;br /&gt;2)&amp;nbsp;static&amp;nbsp;지정이&amp;nbsp;된&amp;nbsp;내부클래스&amp;nbsp;사용방법 &lt;br /&gt;&amp;gt;&amp;nbsp;바로&amp;nbsp;new&amp;nbsp;키워드를&amp;nbsp;사용하여&amp;nbsp;인스턴스&amp;nbsp;생성이&amp;nbsp;가능하다 &lt;br /&gt;ex)&amp;nbsp;외부클래스.내부클래스&amp;nbsp;{내부클래스변수명}&amp;nbsp;=&amp;nbsp;new&amp;nbsp;외부클래스.내부클래스 &lt;br /&gt;&lt;br /&gt;7.&amp;nbsp;인터페이스&amp;nbsp;키워드&amp;nbsp;implements&amp;nbsp;를&amp;nbsp;사용하는&amp;nbsp;이유? &lt;br /&gt;&amp;gt;&amp;nbsp;클래스와&amp;nbsp;달리&amp;nbsp;객체를&amp;nbsp;생성할수&amp;nbsp;없다. &lt;br /&gt;&amp;gt;&amp;nbsp;클래스에서&amp;nbsp;구현해야&amp;nbsp;하는&amp;nbsp;작업명세서이다. &lt;br /&gt;&amp;gt;&amp;nbsp;객체가&amp;nbsp;다양한&amp;nbsp;자료형(타입)을&amp;nbsp;가질&amp;nbsp;수&amp;nbsp;있기&amp;nbsp;때문! &lt;br /&gt;*&amp;nbsp;기본적으로&amp;nbsp;인터페이스의&amp;nbsp;모든&amp;nbsp;method는&amp;nbsp;public이다. &lt;br /&gt;&lt;br /&gt;8.&amp;nbsp;추상클래스 &lt;br /&gt;&amp;gt;&amp;nbsp;인터페이스와&amp;nbsp;비슷한&amp;nbsp;형태로&amp;nbsp;구체화되지&amp;nbsp;않은&amp;nbsp;멤버를&amp;nbsp;이용해서&amp;nbsp;클래스를&amp;nbsp;만듦. &lt;br /&gt;&amp;gt;&amp;nbsp;클래스의&amp;nbsp;공통된&amp;nbsp;부분을&amp;nbsp;뽑아서&amp;nbsp;별도의&amp;nbsp;클래스(추상클래스)로&amp;nbsp;만들어놓고&amp;nbsp;이것을&amp;nbsp;상속해서&amp;nbsp;사용 &lt;br /&gt;&lt;br /&gt;9.&amp;nbsp;JAVA에서&amp;nbsp;String&amp;nbsp;객체 &lt;br /&gt;&amp;gt;&amp;nbsp;문자열을&amp;nbsp;다루는&amp;nbsp;String&amp;nbsp;클래스(객체)는&amp;nbsp;데이터가&amp;nbsp;변경되면&amp;nbsp;기존의&amp;nbsp;객체를&amp;nbsp;버리고&amp;nbsp;새로운&amp;nbsp;객체를&amp;nbsp;메모리에&amp;nbsp;생성한다 &lt;br /&gt;&amp;gt;&amp;nbsp;기존의&amp;nbsp;객체는&amp;nbsp;GC에&amp;nbsp;의해서&amp;nbsp;메모리가&amp;nbsp;회수된다 &lt;br /&gt;&lt;br /&gt;10.&amp;nbsp;StringBuffer,&amp;nbsp;StringBuilder &lt;br /&gt;&amp;gt;&amp;nbsp;String클래스의&amp;nbsp;단점을&amp;nbsp;보완한&amp;nbsp;클래스로&amp;nbsp;데이터가&amp;nbsp;변경되면&amp;nbsp;메모리에서&amp;nbsp;기존&amp;nbsp;객체를&amp;nbsp;재활용한다. &lt;br /&gt;*&amp;nbsp;속도&amp;nbsp;:&amp;nbsp;StringBuilder &lt;br /&gt;*&amp;nbsp;데이터안정성&amp;nbsp;:&amp;nbsp;StringBuffer&lt;/p&gt;</description>
      <category>JAVA</category>
      <author>Coding_mon</author>
      <guid isPermaLink="true">https://meronic.tistory.com/73</guid>
      <comments>https://meronic.tistory.com/73#entry73comment</comments>
      <pubDate>Thu, 21 Dec 2023 00:45:38 +0900</pubDate>
    </item>
    <item>
      <title>'23. 1. 28.(토)</title>
      <link>https://meronic.tistory.com/72</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;입사한지 약 3개월차&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;회사생활 시작 이후 처음으로 쓰는 일기&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;작년 11월에 입사해서 지금까지 정신없이 시간이 흘러간것 같았다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;신입사원 교육만 약 2개월을 받았고 1월초 부서 배치를 받고 업무를 시작했다&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;운 좋게 인생 첫 직장이 대기업이면서 직무도 전공 찾아서 잘 갔다고는 하지만 아직은 잘 모르겠다&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;회사 생활 3개월만에 대학생활 1년치 알바비를 받았고&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;작년 12월 태어나서 한달동안 가장 많은 돈을 썼다&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;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;아무튼 올해 첫 토요일 일기 끝&lt;/p&gt;</description>
      <category>일상</category>
      <author>Coding_mon</author>
      <guid isPermaLink="true">https://meronic.tistory.com/72</guid>
      <comments>https://meronic.tistory.com/72#entry72comment</comments>
      <pubDate>Sat, 28 Jan 2023 10:18:30 +0900</pubDate>
    </item>
    <item>
      <title>'22. 11. 1.(화)</title>
      <link>https://meronic.tistory.com/71</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;몇 시간 뒤면 첫 출근이다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지난번에 최종합격 이후 내가 적은 글을 다시 보면 정말 좋겠다는 일기를 적은 적이 있었는데&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;합격하고 나서 다시 보니까 감회가 새로운것 같다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;첫 자소서, 첫 실무면접, 첫 임원면접 이후 최종합격..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모든게 다 처음인데 한번에 다 이루어진게 약간 기적같기도 하다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;28년동안 살면서 이렇게 운이 좋아본 적이 없던것 같은데&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;합격 소식 이후 내 삶도 달라진 부분이 많아졌다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;첫 번째로 마음이 편해지고 여유가 생겼으며&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;두 번째로 주위에서 바라보는 시선들을 자꾸 신경쓰게 되었다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;요즘 대학교를 졸업해도 취업 준비에 몇 년씩 어렵게 노력한다고 하는데&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;난 4학년 2학기에 한번에 대기업을 들어갔으니 주위에서 이상하게 볼 만도 한것 같다&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 data-ke-size=&quot;size16&quot;&gt;이번 달 교육 잘 받고 다시 오자&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;더 고생하자, 첫 월급 받는 그날까지 화이팅&amp;nbsp;&lt;/p&gt;</description>
      <category>일상</category>
      <author>Coding_mon</author>
      <guid isPermaLink="true">https://meronic.tistory.com/71</guid>
      <comments>https://meronic.tistory.com/71#entry71comment</comments>
      <pubDate>Tue, 1 Nov 2022 01:29:50 +0900</pubDate>
    </item>
    <item>
      <title>'22. 10. 6(수)</title>
      <link>https://meronic.tistory.com/70</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;내일은 인생에서 처음으로 보는 임원면접이다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;솔직하게 지원했을때 내가 최종면접까지 갈 수 있을거라는 생각을 해본적이 없었는데&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 data-ke-size=&quot;size16&quot;&gt;최종합격후 이 글을 다시 보게되었으면 정말 좋겠다 안녕&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>일상</category>
      <author>Coding_mon</author>
      <guid isPermaLink="true">https://meronic.tistory.com/70</guid>
      <comments>https://meronic.tistory.com/70#entry70comment</comments>
      <pubDate>Thu, 6 Oct 2022 23:00:22 +0900</pubDate>
    </item>
    <item>
      <title>수제비 정보처리기사 용어 정리</title>
      <link>https://meronic.tistory.com/69</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;데이터 웨어하우스나 데이터마트 같은 시스템과 상호 연관되는 정보시스템&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;온라인 분석 처리&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
      <category>자격증/정보처리기사</category>
      <author>Coding_mon</author>
      <guid isPermaLink="true">https://meronic.tistory.com/69</guid>
      <comments>https://meronic.tistory.com/69#entry69comment</comments>
      <pubDate>Wed, 4 May 2022 02:46:33 +0900</pubDate>
    </item>
    <item>
      <title>2020년 실기 기출</title>
      <link>https://meronic.tistory.com/68</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;04.28&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Python의 set 자료형
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;순서가 없다&lt;/li&gt;
&lt;li&gt;중복을 허용하지 않는다.&lt;/li&gt;
&lt;li&gt;add : 1개의 값만을 추가&lt;/li&gt;
&lt;li&gt;update : 여러개의 값을 추가하는 경우&lt;/li&gt;
&lt;li&gt;remove : 특정 값을 제거하는 경우&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;AJAX (Asynchronous Javascript And Xml)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;페이지 새로고침 없이 서버에 요청&lt;/li&gt;
&lt;li&gt;서버로부터 데이터를 받고 작업을 수행&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;MySQL INDEX 생성
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;CREATE INDEN 인덱스 이름&lt;br /&gt;ON 테이블이름 (필드1, 필드2..);&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;C언어 출력문 주의
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;printf(&quot;%c&quot;, *p + 1); 에서 p가 참조하는 값이 문자인 경우&lt;br /&gt;출력값은 문자의 아스키코드넘버 + 1의 문자 값이 나오게 된다.&lt;br /&gt;ex) *p = 'a' 인 경우 출력 값은 'b'&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;회복기법의 종류
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;로그 기반 회복기법
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지연 갱신 회복기법 : 트랜잭션이 완료되기 전까지 기록을 하지 않음&lt;/li&gt;
&lt;li&gt;즉각 갱신 회복기법 : 트랜잭션 수행 중 갱신 경과를 바로 반영&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;체크 포인트 회복 기법&lt;br /&gt;장애 발생 시 검사점 이후에 처리된 트랜잭션에 대해서만&lt;br /&gt;장애 발생 이전의 상태로 복원시키는 회복기법&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;그림자 페이징 회복기법&lt;br /&gt;트랜잭션 수행 시 복제본을 생성하여 장애시 이를 이용해 복구하는 기법&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;테스트오라클&lt;br /&gt;-&amp;gt; 테스트 결과 값에 대한 참, 거짓을 판단하기 위해 사전에 정의된 '참(True)'값을 입력해서 비교하는 기법 및 활동.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;참(True) 오라클&lt;/li&gt;
&lt;li&gt;샘플링(Sampling) 오라클&lt;/li&gt;
&lt;li&gt;휴리스틱(Heuristic) 오라클&lt;/li&gt;
&lt;li&gt;일관성 검사(consistent) 오라클&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>자격증/정보처리기사</category>
      <author>Coding_mon</author>
      <guid isPermaLink="true">https://meronic.tistory.com/68</guid>
      <comments>https://meronic.tistory.com/68#entry68comment</comments>
      <pubDate>Thu, 28 Apr 2022 21:49:16 +0900</pubDate>
    </item>
    <item>
      <title>TCP 포트번호 (Well-known port)</title>
      <link>https://meronic.tistory.com/67</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: 452px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 20px;&quot;&gt;포트번호&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 20px;&quot;&gt;서비스&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 18px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 18px;&quot;&gt;20&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 18px;&quot;&gt;FTP Data&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 18px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 18px;&quot;&gt;21&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 18px;&quot;&gt;FTP Control&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 18px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 18px;&quot;&gt;22&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 18px;&quot;&gt;SSH&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 18px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 18px;&quot;&gt;23&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 18px;&quot;&gt;Telnet&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 18px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 18px;&quot;&gt;25&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 18px;&quot;&gt;SMTP&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 18px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 18px;&quot;&gt;53&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 18px;&quot;&gt;DNS&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 18px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 18px;&quot;&gt;69&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 18px;&quot;&gt;TFTP&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 18px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 18px;&quot;&gt;80&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 18px;&quot;&gt;HTTP&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 18px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 18px;&quot;&gt;88&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 18px;&quot;&gt;커버로스&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 18px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 18px;&quot;&gt;110&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 18px;&quot;&gt;POP3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 18px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 18px;&quot;&gt;119&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 18px;&quot;&gt;NNTP&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 18px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 18px;&quot;&gt;139&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 18px;&quot;&gt;NetBIOS&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 18px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 18px;&quot;&gt;143&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 18px;&quot;&gt;IMAP&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 18px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 18px;&quot;&gt;161&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 18px;&quot;&gt;SNMP&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 18px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 18px;&quot;&gt;389&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 18px;&quot;&gt;LDAP&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 18px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 18px;&quot;&gt;443&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 18px;&quot;&gt;HTTPS&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>자격증/정보보안기사</category>
      <author>Coding_mon</author>
      <guid isPermaLink="true">https://meronic.tistory.com/67</guid>
      <comments>https://meronic.tistory.com/67#entry67comment</comments>
      <pubDate>Tue, 8 Mar 2022 23:58:34 +0900</pubDate>
    </item>
    <item>
      <title>3월 7일 스픽</title>
      <link>https://meronic.tistory.com/66</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;A. The guy that had the costume party. How can I forget! It was the worst night of my life.&lt;br /&gt;B. He recently got promoted And he's having a party to celebrate his promotion.&lt;br /&gt;* get promoted, have a party&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A. What kind of party is it?&lt;br /&gt;B. It's a costume party.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A. Actually, I might be going away this weekend.&lt;br /&gt;B. Don't lie, You said you were free this weekend.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A. Can't we do something else? I hate going to costume parties. Should we see a movie tonight?&lt;br /&gt;B. I would love to but, it's my mom's birthday tonight.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A. What about shopping? Let's go shopping tomorrow!&lt;br /&gt;B. I might help my sister move out tomorrow, Please come with me this party.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A. I love Star wars. Can I go as Chewbacca?&lt;br /&gt;* go as something : ~에 '누구/무엇'으로 가다.&lt;br /&gt;B. Of course! I',m so glad that you like the theme.&lt;br /&gt;* to be glad ~ : ~인 것이 다행이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A. You should have told me earlier! I can't wait to go.&lt;br /&gt;* Can't wait to R : R 하고 싶어서 못참겠다 / R 하기 기대된다.&lt;br /&gt;B. Great. Let's me up at 6 on Saturday.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>영엉</category>
      <author>Coding_mon</author>
      <guid isPermaLink="true">https://meronic.tistory.com/66</guid>
      <comments>https://meronic.tistory.com/66#entry66comment</comments>
      <pubDate>Tue, 8 Mar 2022 01:02:57 +0900</pubDate>
    </item>
    <item>
      <title>화이트 박스 검사</title>
      <link>https://meronic.tistory.com/65</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;- 기초 경로 검사 &amp;gt; 논리적 조건 확인&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 제어 구조 검사&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 조건 검사&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 루프 검사&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 데이터 흐름 검사&lt;/p&gt;</description>
      <category>자격증/정보처리기사</category>
      <author>Coding_mon</author>
      <guid isPermaLink="true">https://meronic.tistory.com/65</guid>
      <comments>https://meronic.tistory.com/65#entry65comment</comments>
      <pubDate>Tue, 8 Mar 2022 00:09:31 +0900</pubDate>
    </item>
    <item>
      <title>프로세서 스케쥴링</title>
      <link>https://meronic.tistory.com/64</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;lt;비 선점 Non-Preemption&amp;gt;&lt;br /&gt;&amp;gt; 실행 중이면 못건드림&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- FCFS (First Come First Serve)&lt;br /&gt;Ready Queue에 들어온 순서대로 처리함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- SJF (Shortest Jop First)&lt;br /&gt;실행순서가 짧은 작업 먼저 실행&amp;nbsp;&lt;br /&gt;하지만 먼저 진행 중인 작업에 대해서는 끝날때까지 기다림.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- HRRN (Hightest Response Ratio Next)&lt;br /&gt;Priority = (Waiting time + Estimated run time)/ Estimated run time&amp;nbsp;&lt;br /&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;lt;선점 Preemption&amp;gt;&lt;br /&gt;&amp;gt; 실행 중이여도 교체 될 수 있음&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- RR (Round Robin)&lt;br /&gt;Time slice를 주의하면서 볼것, Ready Queue로 들어가는 순서 주의.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- SRTF (Shortest Remaining Time First)&lt;br /&gt;Ready Queue에 도착하는 순서를 조심해서 볼것.&lt;br /&gt;남아있는 작업 시간에 대해서 확인&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- MLQ (Multi Level Queue)&lt;br /&gt;- MFQ (Multilevel Feedback Queue)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>자격증/정보처리기사</category>
      <author>Coding_mon</author>
      <guid isPermaLink="true">https://meronic.tistory.com/64</guid>
      <comments>https://meronic.tistory.com/64#entry64comment</comments>
      <pubDate>Tue, 8 Mar 2022 00:06:39 +0900</pubDate>
    </item>
    <item>
      <title>프로세스의 상태 변환</title>
      <link>https://meronic.tistory.com/62</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;1. 준비 -&amp;gt; 실행 [Dispacthing]&lt;br /&gt;- 준비 상태의 프로세스는 디스패처(Dispatcher)에 의해 프로세서가 부여되면서 실행상태가 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 실행 -&amp;gt; 준비 [Time run out]&lt;br /&gt;- 어떤 프로세스가 프로세서를 계속 독점하여 사용하는것을 방지하기 위해 OS가 인터럽트 클럭을 두어서 지정된 시간 동안만&amp;nbsp;&lt;br /&gt;&amp;nbsp; 프로세스가 프로세서를 점유하도록 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 실행 -&amp;gt; 대기 [Block]&lt;br /&gt;- 실행상태의 프로세스가 지정된 시간 이전에 입,출력 연산 등을 필요로 할 경우 그 프로세스는 스스로 프로세서를 양도하게 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 대기 -&amp;gt; 준비 [Wake up]&lt;br /&gt;- 입,출력 작업이 끝났을 때, 대기 상태의 프로세스는 준비 상태로 변환하게 된다.&lt;/p&gt;</description>
      <category>자격증/정보처리기사</category>
      <author>Coding_mon</author>
      <guid isPermaLink="true">https://meronic.tistory.com/62</guid>
      <comments>https://meronic.tistory.com/62#entry62comment</comments>
      <pubDate>Sun, 6 Mar 2022 16:19:11 +0900</pubDate>
    </item>
    <item>
      <title>프로세스 상태</title>
      <link>https://meronic.tistory.com/61</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;1. 생성&lt;br /&gt;- 프로세스의 작업 공간이 메인 메모리에 생성되고 운영체제 내부에&amp;nbsp; 프로세스의 실행정보를 관리하기 위한 PCB이 만들어지는 상태&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 준비&lt;br /&gt;- 프로세서에게 할당되기를 기다리는 상태&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 실행&lt;br /&gt;- 프로세서를 점유하여 명령어들이 실행되는 상태&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 대기&lt;br /&gt;- 프로세서가 어떤 이벤트(Input / Output 등) 가 일어나기를 기다리는 상태&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. 완료&lt;br /&gt;- 프로세스의 수행이 끝난 상태&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;</description>
      <category>자격증/정보처리기사</category>
      <author>Coding_mon</author>
      <guid isPermaLink="true">https://meronic.tistory.com/61</guid>
      <comments>https://meronic.tistory.com/61#entry61comment</comments>
      <pubDate>Sun, 6 Mar 2022 16:15:43 +0900</pubDate>
    </item>
    <item>
      <title>C언어 연산자 우선순위</title>
      <link>https://meronic.tistory.com/60</link>
      <description>&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;단 산 쉬 관 비 논 조 대&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;단 산 쉬(Shift) 관 비(bit) 논 조 대&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;0. 괄호 ()&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;1. 단항 연산자&lt;br /&gt;&amp;nbsp; 1) ++x, --x&lt;br /&gt;&amp;nbsp; 2) x++, x--&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;2. 산술 연산자&lt;br /&gt;&amp;nbsp; &amp;nbsp;1) *, /, %&lt;br /&gt;&amp;nbsp; &amp;nbsp;2) +, -&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;3. Shift 연산자&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;4. 관계 연산자&lt;br /&gt;&amp;nbsp; 1) &amp;gt;=, &amp;lt;=, &amp;lt;, &amp;gt;&lt;br /&gt;&amp;nbsp; 2) ==, !=&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;5. Bit 연산자&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;6. 논리 연산자&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;7. 조건 연산자&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;8. 대입 연산자&lt;/p&gt;</description>
      <category>자격증/정보처리기사</category>
      <author>Coding_mon</author>
      <guid isPermaLink="true">https://meronic.tistory.com/60</guid>
      <comments>https://meronic.tistory.com/60#entry60comment</comments>
      <pubDate>Sun, 6 Mar 2022 15:47:19 +0900</pubDate>
    </item>
    <item>
      <title>교착상태 (Deadlock)</title>
      <link>https://meronic.tistory.com/59</link>
      <description>&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;교착상태 (응답없음) 4개의 조건&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;1. 상호 배제 (Mutual exclusion)&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;2. 점유와 대기 (Hold and Wait)&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;3. 비 선점 (Non preemption)&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;4. 순환 대기 (Circular wait)&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위 조건을 모두 만족 할때 교착상태가 발생하게 된다.&lt;/p&gt;</description>
      <category>자격증/정보처리기사</category>
      <author>Coding_mon</author>
      <guid isPermaLink="true">https://meronic.tistory.com/59</guid>
      <comments>https://meronic.tistory.com/59#entry59comment</comments>
      <pubDate>Sun, 6 Mar 2022 15:43:12 +0900</pubDate>
    </item>
    <item>
      <title>고구려 왕 [순서, 키워드] 정리</title>
      <link>https://meronic.tistory.com/58</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;고구려 왕&lt;/b&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;2️⃣세기 중앙집권화&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;태조왕 : 5부체제, 옥저 복속, 형제상속&lt;/li&gt;
&lt;li&gt;고국천왕 : 행정적 5부(수직적), 진대법 실시 (국상 을파소)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3️⃣,4️⃣세기 삼국지&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;동천왕 : 압록강 서쪽 공격(서안평), 위나라의 침입으로 &amp;lsquo;환도성&amp;rsquo;, &amp;lsquo;국내성&amp;rsquo; 함락 (3세기)&lt;/li&gt;
&lt;li&gt;미천왕(을불, 소금장수) : &amp;lsquo;서안평&amp;rsquo;점령, [낙랑군 축출, 313], [대방군 축출, 314]&lt;/li&gt;
&lt;li&gt;고국원왕(사유) : [백, 근초고왕]의 침입으로 사망(371), 평양성 전투&lt;/li&gt;
&lt;li&gt;소수림왕 (불국사 불태워)&lt;br /&gt;불교 공인(372)&lt;br /&gt;태학 설립(372)&lt;br /&gt;율령 반포(373)&lt;/li&gt;
&lt;li&gt;고국양왕 : 7년만에 사망&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5️⃣세기 전성기&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;광개토대왕(4세기 후반 ~ 5세기 초, 영락)&lt;br /&gt;동 : 동부여 복속&lt;br /&gt;서 : 후연격파, &amp;lsquo;요동&amp;rsquo; 진출&lt;br /&gt;남 : &amp;ldquo;백제&amp;rdquo; 공격 [관미성전투, 391] &amp;gt; 한각 이북 진출, &amp;ldquo;신라&amp;rdquo;지원으로 &amp;ldquo;왜(일본)&amp;rdquo; 격파&lt;br /&gt;북 : 숙신, 거란 정벌 &amp;gt; 만주 차지&lt;/li&gt;
&lt;li&gt;장수왕 (거련)&lt;br /&gt;[백제, 근초고왕]에게 [고국원왕]이 죽은걸 빡쳐 함 &amp;gt; &amp;ldquo;백제&amp;rdquo; 공격&lt;br /&gt;서울 아차산성에서 [백제 개로왕(부여경)] 죽임&lt;br /&gt;&lt;br /&gt;북 : 지두우(북방 유목민) 분할 점령, 흥안령 일대 초원지대 장악&lt;br /&gt;남 : 남하 정책, 평양 천도(427)&lt;br /&gt;&lt;br /&gt;충원 고구려비&lt;br /&gt;광개토대왕릉비 (414)&lt;/li&gt;
&lt;li&gt;문자왕&lt;br /&gt;부여복속 (494)&lt;br /&gt;최대영토&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6️⃣세기 침체기&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;안원왕 : 금동 연가 7년명 여래 입상&lt;/li&gt;
&lt;li&gt;양원왕 : &amp;ldquo;신라&amp;rdquo;에게 한강 유역을 뺏김&lt;/li&gt;
&lt;li&gt;평원왕 : [온달이 신라와 싸우다 전사]&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;7️⃣세기 부흥기&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;영양왕&lt;br /&gt;&amp;ldquo;수&amp;rdquo;나라 [양제]의 침입 &amp;gt; [살수대첩, 612], 을지문덕, 청전강&lt;br /&gt;이문집 [신집] (600)&lt;/li&gt;
&lt;li&gt;영류왕&lt;br /&gt;[연개소문]에 의해 사망 (642)&lt;br /&gt;&amp;lsquo;천리장성&amp;rsquo; 축조 (631 ~ 647)&lt;/li&gt;
&lt;li&gt;보장왕&lt;br /&gt;고구려 마지막 왕&lt;br /&gt;안시성 전투(645)&lt;br /&gt;천리장성 완성(647)&lt;br /&gt;고구려 멸망 (668)&lt;/li&gt;
&lt;/ul&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;&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;&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;&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;&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;&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;&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;</description>
      <category>한국사 [선사시대 ~ 고려 전]</category>
      <category>고구려</category>
      <category>고구려순서</category>
      <category>고구려역사</category>
      <category>고구려왕</category>
      <category>고구려왕순서</category>
      <category>고구려왕업적</category>
      <category>한국사</category>
      <category>한국사 고구려</category>
      <category>한능검</category>
      <author>Coding_mon</author>
      <guid isPermaLink="true">https://meronic.tistory.com/58</guid>
      <comments>https://meronic.tistory.com/58#entry58comment</comments>
      <pubDate>Sat, 9 Oct 2021 20:58:06 +0900</pubDate>
    </item>
    <item>
      <title>부여 - 고구려 - 옥저, 동예 - 삼한 키워드</title>
      <link>https://meronic.tistory.com/57</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;부여&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;영고 (12월)&lt;/li&gt;
&lt;li&gt;마가, 우가, 저가, 구가 : 4출도, 5부족 연맹왕국&lt;/li&gt;
&lt;li&gt;순장, 간음한자 사형&lt;/li&gt;
&lt;li&gt;일부다처제&lt;/li&gt;
&lt;li&gt;&lt;span&gt;옥갑&lt;/span&gt;&lt;/li&gt;
&lt;/ul&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;b&gt;고구려&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;동맹 (10월)&lt;/li&gt;
&lt;li&gt;압록강 유역&lt;/li&gt;
&lt;li&gt;졸본(주몽) &amp;gt; 국내성(유리왕)&lt;/li&gt;
&lt;li&gt;약탈경제&lt;/li&gt;
&lt;li&gt;부경(창고)&lt;/li&gt;
&lt;li&gt;5부족 연맹왕국&lt;/li&gt;
&lt;li&gt;사자, 고추가, 상가, 대로 , 패자&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;왕비족의 수장 : 고추가&lt;/li&gt;
&lt;li&gt;서옥제&lt;/li&gt;
&lt;li&gt;돌무지무덤 (송백나무)&lt;/li&gt;
&lt;li&gt;욕살, 처려근지 &amp;gt; 지방 행정 관료&lt;/li&gt;
&lt;/ul&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;b&gt;부여와 고구려의 공통점&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;후장 풍습 (후하게 장례를 치룬다)&lt;/li&gt;
&lt;li&gt;1책 12법&lt;/li&gt;
&lt;li&gt;형사취수제&lt;/li&gt;
&lt;li&gt;장례 때 곽 사용&lt;/li&gt;
&lt;/ul&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;b&gt;옥저&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;제천행사 없음&lt;/li&gt;
&lt;li&gt;골장제, 가족 공동묘 (쌀 항아리)&lt;/li&gt;
&lt;li&gt;민며느리제(매매혼)&lt;/li&gt;
&lt;/ul&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;b&gt;동예&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;무천 (10월)&lt;/li&gt;
&lt;li&gt;단궁, 과하마, 반어피&lt;/li&gt;
&lt;li&gt;책화 (폐쇄적)&lt;/li&gt;
&lt;li&gt;족외혼&lt;/li&gt;
&lt;/ul&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;b&gt;옥저와 동예의 공통점&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;후, 삼로, 읍군&lt;/li&gt;
&lt;li&gt;군장 국가&lt;/li&gt;
&lt;/ul&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;b&gt;삼한 (마한, 변한, 진한)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;수릿날(5월)&lt;/li&gt;
&lt;li&gt;계절제(10월)&lt;/li&gt;
&lt;li&gt;벼농사&lt;/li&gt;
&lt;li&gt;마한 : 목지국, 소국(54개) // 백제에 합병&lt;/li&gt;
&lt;li&gt;변한 : &amp;lsquo;철&amp;rsquo; 생산 &amp;gt; 낙랑에 수출 // 가야&lt;/li&gt;
&lt;li&gt;진한 : 12개 소국, 사로국&lt;/li&gt;
&lt;li&gt;천군 (제사장)&lt;/li&gt;
&lt;li&gt;소도 (신성한 구역)&lt;/li&gt;
&lt;li&gt;신지&lt;span&gt;, &lt;/span&gt;읍차&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>한국사 [선사시대 ~ 고려 전]</category>
      <category>고구려</category>
      <category>동예</category>
      <category>부여</category>
      <category>영고</category>
      <category>옥저</category>
      <category>제천</category>
      <category>한국사</category>
      <category>한국사능력검정시험</category>
      <category>한국사키워드</category>
      <category>한능검</category>
      <author>Coding_mon</author>
      <guid isPermaLink="true">https://meronic.tistory.com/57</guid>
      <comments>https://meronic.tistory.com/57#entry57comment</comments>
      <pubDate>Sat, 9 Oct 2021 20:56:24 +0900</pubDate>
    </item>
    <item>
      <title>소프트웨어공학</title>
      <link>https://meronic.tistory.com/56</link>
      <description>&lt;p&gt;&lt;b&gt;소프트웨어(SoftWare)란?&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;- 프로그램, 프로그램의 개발, 운용, 보수에 필요한 정보 일체 (소프트웨어 생산 결과물 일체를 소프트웨어라고 한다)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;소프트웨어의 생산&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;- 소프트웨어는 프로그램의 동적인 실체&lt;br /&gt;- 프로그램은 형식 언어로 표현(코딩)된 지적 노동의 결과물 &amp;gt; 정신적인 노동자&lt;br /&gt;- 제조업 V.S 서비스업 (소프트웨어는 제작이 아니라 창조적 노력이 포함된 개발)&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;gt; 단순히 사람의 머리에 의하여 창조적인 노력에 의해 개발되는것이 소프트웨어 산업 인건비의 비중이 높음&lt;br /&gt;- 닳아 없어지는 것이 아니라 소용없어 못쓰게 됨 (사용자들이 사용을 안할때 망함) &amp;gt; 소프트웨어의 폐기&lt;br /&gt;- 논리적인 요소로 구성 (유지 보수가 복잡하게 됨)&lt;br /&gt;- 소프트웨어 산업(국내 소프트웨어 기업 2020년에 90조 7000억원 매출)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&amp;gt; 사회적, 경제적인 소프트웨어의 의존도(Dependability)가 커지고 있음&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;소프트웨어의 특성&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;- 비가시성(Invisibility) : 구조가 소스코드안에 숨어 있어 개념적이고 무형&lt;br /&gt;- 테스트 가능(Testability)&lt;br /&gt;- 복잡성(Complexity)&lt;br /&gt;- 변경성(Changeability) : 기능추가, 수정&lt;br /&gt;- 순응성(Conformity)&lt;br /&gt;- 장수(Longevity) : 마모되어 소멸하지 않음, 필요없는 경우 폐기처리&lt;br /&gt;- 복제 가능(Duplicability) : 불법 복제가 무한히 가능&lt;br /&gt;- 응용에 의존(Application dependability)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;소프트웨어 시스템&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;유기적으로 상호 작용하는 개체들의 모임&lt;br /&gt;소프트웨어 자체도 하나의 시스템으로 볼 수 있다. (카카오톡 &amp;gt; 메신저 시스템, 페이스북 &amp;gt; sns시스템)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;소프트웨어 시스템의 특징&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;- 목적성 : 반드시 분명한 목적을 가지고 있음 (게임 &amp;gt; 오락용)&lt;br /&gt;- 자동성 : 조건이나 상황의 변화가 발생할 경우, 시기 적절하게 대응하여 처리하도록 시스템을 설정&lt;br /&gt;- 제어성 : 정해진 규정이나 한계 또는 궤도로부터 이탈되는 사태나 현상의 발생을 사전에 감지하여 수정&lt;br /&gt;- 종합성 : 항상 다른 관련 시스템과 상호 의존 관계가 있으며, 각 부분별 시스템도 전체 시스템의 일부분으로서&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 필수 기능을 수행&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;정보시스템(Information System)&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;- 자료의 분류, 저장하고 검색하여 처리(프로세싱)하는 관점&lt;br /&gt;- 데이터 베이스를 대화식으로 접근 (모든 서비스는 데이터베이스를 탑재한다)&lt;br /&gt;- 조직의 문제 해결을 위한 도구(MIS, 급여관리, 학사관리 등등)&lt;br /&gt;&amp;nbsp; ex) 항공권 예약 시스템, 신용카드 검색서비스, 뱅킹 시스템 &amp;gt; 목적에 의하여 개발됨&lt;br /&gt;&amp;nbsp; &amp;gt; 대규모 자료로서 정적이 아님(추가 삭제가 수시로 됨 &amp;gt; 동적), 시스템 분석, 유지보수가 중요&lt;/p&gt;
&lt;p&gt;&lt;b&gt;MIS(Mangement Information System)&lt;br /&gt;&lt;/b&gt;&amp;gt; 기업의 운영, 관리, 의사결정을 위하여 정보를 제공하는 시스템(국가기관은 &amp;gt; PMIS)&lt;br /&gt;&amp;gt; 데이터 없이는 정보시스템이 존재 할 수 없다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;제어 시스템(Control System)&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;사건(Event : 마우스클릭, 키보드 클릭 등)을 감지하여 처리하고 자동적으로 보고&lt;br /&gt;&amp;gt; 이벤트는 운영체제가 받아들임&amp;nbsp;&lt;br /&gt;- 센서의 감지&amp;nbsp;&lt;br /&gt;- 제어 기기의 상태 보고&lt;br /&gt;- 오퍼레이터의 입력 처리&lt;br /&gt;- 인터페이스&lt;/p&gt;
&lt;p&gt;&lt;b&gt;탑제 시스템(Embedded System)&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;gt; 계산이 주된 기능이 아닌 시스템의 한 구성요소 (목적의 기능을 하기 위해)&lt;br /&gt;- 대규모, 장기 사용, 테스트하기 어려움&lt;br /&gt;- 인터페이스가 복잡함, 비동기, 병렬, 분산&lt;br /&gt;- 대규모의 자료를 접근, 변경, 출력&lt;br /&gt;- 실시간 제어, 인터페이스&lt;br /&gt;- 엄격한 요구 : 실시간 반응(실수가 있으면 바로 문제가 되기 때문), 고장에 대한 안전, 신뢰성이 높아야 함&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;소프트웨어의 유형&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;- 응용 소프트웨어 (내부에서 사용하는 일반적인 시스템)&lt;br /&gt;- 시스템 소프트웨어 (운영체제, 장치 드라이버, 언어의 컴파일러, 코드의 라이브러리 등)&lt;br /&gt;- 주문형 소프트웨어 (고객, 기업의 요구를 만족시키기 위해 제작)&lt;br /&gt;- 패키지 소프트웨어 (상업적으로 판매, 워드, POS기 등)&lt;br /&gt;- 임베디드 소프트웨어 (다른 시스템에 내장되어 제어, 조작하는 소프트웨어)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cUZkGW/btqYTOg57Rg/oyU3Ksi36r1Kx3Og6h1LI0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cUZkGW/btqYTOg57Rg/oyU3Ksi36r1Kx3Og6h1LI0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cUZkGW/btqYTOg57Rg/oyU3Ksi36r1Kx3Og6h1LI0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcUZkGW%2FbtqYTOg57Rg%2FoyU3Ksi36r1Kx3Og6h1LI0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;소프트웨어의 개발 작업&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bt0NJ7/btqYW2zizFQ/WY9leK0itZ28myKFOMwv0k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bt0NJ7/btqYW2zizFQ/WY9leK0itZ28myKFOMwv0k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bt0NJ7/btqYW2zizFQ/WY9leK0itZ28myKFOMwv0k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbt0NJ7%2FbtqYW2zizFQ%2FWY9leK0itZ28myKFOMwv0k%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>공부</category>
      <author>Coding_mon</author>
      <guid isPermaLink="true">https://meronic.tistory.com/56</guid>
      <comments>https://meronic.tistory.com/56#entry56comment</comments>
      <pubDate>Wed, 3 Mar 2021 00:51:55 +0900</pubDate>
    </item>
    <item>
      <title>프로세스</title>
      <link>https://meronic.tistory.com/45</link>
      <description>&lt;p&gt;초기 컴퓨터는 한번에 하나의 프로그램을 실행하여 실행 중인 프로그램이 컴퓨터의 자원을 독점하는 방식이었다.&lt;/p&gt;
&lt;p&gt;병행을 실행하는 프로그램들은 컴퓨터 자원을 공유하기 때문에 이를 제어하기 위해 프로세스가 등장하게 되었다.&lt;/p&gt;
&lt;p&gt;구동을 하기 위한 형태의 프로그램을 프로세스로 관리&lt;/p&gt;
&lt;p&gt;프로세스의 정의&lt;br /&gt;- 실행 중인 프로그램 &amp;gt; 컴퓨터의 자원을 사용할 프로그램들&lt;br /&gt;&amp;nbsp; = IBM운영체제에서 task로 분류&lt;br /&gt;- 비동기적 행위 (Asynchronous)&lt;br /&gt;- 실행 중인 프로시저&lt;br /&gt;- 실행 중인 프로시저의 제어 추적&lt;br /&gt;- 운영체제에 들어있는 프로세스 제어 블록 (PCB)&lt;br /&gt;- 프로세서에 할당하여 실행 할 수 있는 개체 디스패치가 가능한 대상&lt;br /&gt;&amp;nbsp; &amp;gt; cpu에 연산을 수행시킬지 결정&lt;/p&gt;
&lt;p&gt;상태를 관리하기 위한 목적&lt;/p&gt;
&lt;p&gt;프로세서와 프로세스&amp;nbsp;&lt;/p&gt;
&lt;p&gt;프로세서&amp;nbsp;&lt;br /&gt;&amp;gt; 명령과 연산을 수행하기 위한 기계적 장치 = CPU, GPU&lt;/p&gt;
&lt;p&gt;프로세스&lt;br /&gt;&amp;gt; 현재 동작을 하고 있는 프로그램&lt;/p&gt;
&lt;p&gt;프로그램과 프로세스&lt;br /&gt;- 프로그램이 메모리에 적재되면 프로세스&lt;br /&gt;- 프로세스를 실행 할 때 자원을 할당하고 현재 활동 상태와 현재 수행 내용도 포함&lt;/p&gt;
&lt;p&gt;메모리는 디스크에 비해 속도가 빠름&amp;nbsp;&lt;br /&gt;메모리(RAM)에 올려놓고 cpu에 전달하자(적재) &amp;gt; 폰노이만 방식&lt;br /&gt;메모리에 올려놓은 형태 &amp;gt; 프로세스&lt;br /&gt;실행 할 준비가 된 상태 = 메모리에 프로그램이 올라간 상태&lt;/p&gt;
&lt;p&gt;메모리에 올라간 프로세스들은 각각의 고유한 ID값을 가지게 됨 &amp;gt; 프로세스ID&lt;br /&gt;ID에 따라서 메모리주소에 적정한 공간을 할당하게 됨 &amp;gt; PCB에 기록&lt;/p&gt;
&lt;p&gt;공간을 사용하기 위해 변수를 만들어 사용&lt;/p&gt;
&lt;p&gt;운영체제가 프로세스를 생성&lt;br /&gt;PCB = Process Control Block 에 프로세스 상태 정보를 저장&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;프로그램 카운터&lt;br /&gt;&amp;gt; 프로세스를 실행하는 다음 명령의 주소를 표시&lt;/p&gt;
&lt;p&gt;프로세스의 상태&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dP5eVk/btqKVOVBM3q/tfJdQu4Yv6ghbMaZwK2rlK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dP5eVk/btqKVOVBM3q/tfJdQu4Yv6ghbMaZwK2rlK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dP5eVk/btqKVOVBM3q/tfJdQu4Yv6ghbMaZwK2rlK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdP5eVk%2FbtqKVOVBM3q%2FtfJdQu4Yv6ghbMaZwK2rlK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;- 생성 상태&lt;br /&gt;프로세스가 메모리에 올라와 실행 준비를 완료한 상태&lt;br /&gt;적재구조는 큐를 사용하여 데이터를 저장&lt;/p&gt;
&lt;p&gt;- 준비 상태&lt;br /&gt;생성된 프로세스가 CPU를 얻을 때까지 기다리는 상태&amp;nbsp;&lt;br /&gt;스케쥴링한 데이터를 토대로 우선순위를 정렬하여 CPU에 전달&lt;/p&gt;
&lt;p&gt;- 실행 상태&lt;br /&gt;준비 상태에 있는 프로세스 중 하나가 CPU를 얻어 실제 작업을 수행하는 상태&lt;/p&gt;
&lt;p&gt;- 대기 상태&lt;br /&gt;이벤트나 입출력 대기 신호 발생을 기다리는 상태, 다시 작업을 시작하기 위해 대기&lt;/p&gt;
&lt;p&gt;- 완료 상태&lt;br /&gt;실행 상태의 프로세스가 주어진 시간 동안 작업을 마치면 진입하는 상태&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tXRvb/btqKRPnAxkH/bPfIoUD8hSnIz4wJAKxTlK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tXRvb/btqKRPnAxkH/bPfIoUD8hSnIz4wJAKxTlK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tXRvb/btqKRPnAxkH/bPfIoUD8hSnIz4wJAKxTlK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtXRvb%2FbtqKRPnAxkH%2FbPfIoUD8hSnIz4wJAKxTlK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;디스패치 (내부적인 동작과정)&lt;br /&gt;- 준비 상태인 프로세스에 프로세서를 할당하여 실행상태로 변경&lt;br /&gt;- 스케쥴러가 선택한 프로세스에 프로세서를 할당&lt;/p&gt;
&lt;p&gt;준비된 프로그램을 준비 큐에 등록&lt;br /&gt;판단하기 위해 스케쥴러를 통해 확인 &amp;gt; 순서를 결정&lt;br /&gt;프로세서에 전달된 프로세스는 실행상태로 변경&lt;br /&gt;각각의 형태는 PCB에 기록&lt;/p&gt;</description>
      <category>공부</category>
      <author>Coding_mon</author>
      <guid isPermaLink="true">https://meronic.tistory.com/45</guid>
      <comments>https://meronic.tistory.com/45#entry45comment</comments>
      <pubDate>Thu, 15 Oct 2020 03:13:27 +0900</pubDate>
    </item>
    <item>
      <title>퀵 정렬 (Quick Sort) 알고리즘</title>
      <link>https://meronic.tistory.com/44</link>
      <description>&lt;p&gt;퀵 정렬(Quick Sort)&lt;br /&gt;&amp;gt; 문제가 2개로 분할되고, 부분문제의 크기가 일정하지 않은 크기로 감소하는 알고리즘&lt;br /&gt;&amp;gt; 쪼개지는 데이터의 크기가 일정하지 않다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;피봇(Pivot)이라고 하는 일종의 인덱스를 통해 기준값을 지정하고,&lt;/li&gt;
&lt;li&gt;피봇보다 작은 숫자들은 왼편으로, 큰 수는 오른편에 위치하도록 분할한다. (오름차순)&lt;/li&gt;
&lt;li&gt;분할된 부분에 대해서는 재귀적으로 수행하여 정렬&lt;/li&gt;
&lt;li&gt;피봇은 분할된 왼편이나 오른편의 부분에 포함되지 않는다.&lt;/li&gt;
&lt;li&gt;피봇은 이미 정렬된거라고 보고 나머지에 대하여 재귀적으로 수행&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;알고리즘 순서&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1240&quot; data-origin-height=&quot;822&quot; data-filename=&quot;blob&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b8JF5f/btqJesrUoW5/5ohETHfyhswSWXecqxXmUK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b8JF5f/btqJesrUoW5/5ohETHfyhswSWXecqxXmUK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b8JF5f/btqJesrUoW5/5ohETHfyhswSWXecqxXmUK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb8JF5f%2FbtqJesrUoW5%2F5ohETHfyhswSWXecqxXmUK%2Fimg.png&quot; data-origin-width=&quot;1240&quot; data-origin-height=&quot;822&quot; data-filename=&quot;blob&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Algorithm</category>
      <author>Coding_mon</author>
      <guid isPermaLink="true">https://meronic.tistory.com/44</guid>
      <comments>https://meronic.tistory.com/44#entry44comment</comments>
      <pubDate>Mon, 21 Sep 2020 02:30:44 +0900</pubDate>
    </item>
    <item>
      <title>분할 정복 알고리즘 , 합병정렬(Merge Sort) 알고리즘 자바 코드</title>
      <link>https://meronic.tistory.com/43</link>
      <description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;주어진 문제의 입력을 분할하여 문제를 해결하는 방식의 알고리즘&lt;br /&gt;분할한 입력에 대하여 동일한 알고리즘을 적용하여 해를 계산하며&lt;br /&gt;이들의 해를 취합하여 원래의 문제를 얻기위해 사용한다.&lt;/p&gt;
&lt;p&gt;부분문제&lt;br /&gt;&amp;gt; 분할된 입력에 대한 문제 (SubProblem)&lt;/p&gt;
&lt;p&gt;부분해&lt;br /&gt;&amp;nbsp;&amp;gt; 부분문제의 해&lt;/p&gt;
&lt;p&gt;더 이상 분할 할 수 없을때 까지 부분문제를 계속해서 분할한다.&lt;/p&gt;
&lt;p&gt;정복과정&lt;br /&gt;&amp;nbsp;&amp;gt; 부분해를 취합하면서 구하고자 하는 원래 문제의 답을 얻는다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;크기가 N인 입력에 대한 분할정복 알고리즘&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; width=&quot;768&quot; height=&quot;NaN&quot; data-origin-width=&quot;1306&quot; data-origin-height=&quot;991&quot; data-filename=&quot;blob&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/egrD04/btqJbyeORAs/LOkmZe747INbSebGdb8Aa1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/egrD04/btqJbyeORAs/LOkmZe747INbSebGdb8Aa1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/egrD04/btqJbyeORAs/LOkmZe747INbSebGdb8Aa1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FegrD04%2FbtqJbyeORAs%2FLOkmZe747INbSebGdb8Aa1%2Fimg.png&quot; width=&quot;768&quot; height=&quot;NaN&quot; data-origin-width=&quot;1306&quot; data-origin-height=&quot;991&quot; data-filename=&quot;blob&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;첫번째 나누어진 각각의 크기에 대한 입력은 n/2&lt;/p&gt;
&lt;p&gt;두번째 나누어진 각각의 크기에 대한 입력 n/4&lt;/p&gt;
&lt;p&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;/p&gt;
&lt;p&gt;더 이상 입력의 크기를 나눌 수 없는 경우 (1인경우) 까지 문제의 수준을 쪼개는 과정을 분할 과정이라고 한다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;입력의 크기가 N일때 총 분할 횟수의 일반화 과정&lt;br /&gt;&amp;gt; 문제를 두부분으로 나누고 각각의 부분에는 절반씩인 N/2씩 들어가는 경우 분할의 횟수를 k라고 할때&lt;/p&gt;
&lt;p&gt;1번째 분할 후 각각의 입력의 크기 N/2^1&lt;/p&gt;
&lt;p&gt;2번째 분할 후 각각의 입력의 크기 N/2^2&lt;/p&gt;
&lt;p&gt;3번째 분할 후 각각의 입력의 크기 N/2^3&lt;/p&gt;
&lt;p&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;/p&gt;
&lt;p&gt;k번째 분할 후 각각의 입력의 크기는 N/2^k가 된다.&lt;/p&gt;
&lt;p&gt;여기서 N/2^k = 1이 되어야 하므로 ( 더 이상 분할 할 수 없는 경우 == 입력의 크기가 1이 되는경우 )&lt;/p&gt;
&lt;p&gt;분할 횟수 k는 log2(N)이 된다. (밑이 2인 로그)&lt;/p&gt;
&lt;p&gt;k = log2(N)&lt;/p&gt;
&lt;p&gt;분할과정이 log(n)인만큼 빠른 탐색이 가능&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;정복과정&lt;/p&gt;
&lt;p&gt;&amp;gt; 문제의 크기가 1이 될때까지 분할한 다음 해를 찾기위해 취합 과정&lt;br /&gt;&amp;gt; 단순 분할만 해서는 해를 구할 수 없으며 분할된 부분문제들을 정복해야 한다. (subsolution)&lt;/p&gt;
&lt;p&gt;합병정렬 (Merge Sort)&lt;br /&gt;&amp;gt; 문제가 2개로 분할되고, 부분문제의 크기가 1/2로 감소하는 알고리즘&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;n 개의 숫자들을 n/2개씩 2개의 부분문제로 분할&lt;/li&gt;
&lt;li&gt;각각의 부분문제를 재귀적으로 합병정렬&lt;br /&gt;&amp;gt; 1이 될때까지 재귀적으로 문제를 계속해서 분할해 나감&lt;/li&gt;
&lt;li&gt;2개의 정렬된 부분을 합병하여 정렬 (합병 과정이 문제를 정복)&lt;br /&gt;&amp;gt; 처음 입력된 데이터의 크기가 될때까지 계속해서 합병해서 정렬&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;MergeSort(A,p,q) // 합병정렬 함수 정의&lt;br /&gt;A : 정렬해야되는 배열&lt;br /&gt;p,r : 시작위치, 끝 위치 (index 값)&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;입력된 데이터 : A[p] ~ A[r]&lt;br /&gt;출력된 데이터 : 정렬된 A[p] ~ A[r]&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;정렬할 부분의 원소의 수가 2개 이상일 때에만 다음 단계 수행,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;만일 n = 1이면 그 자체로 정렬된 것이므로 어떤 수행을 할 필요 없이 이전 호출 했던 곳으로 리턴&lt;/li&gt;
&lt;li&gt;정렬할 부분의 원소들을 1/2로 나누기 위해 q = (p+r)/2 (소수점 버림)&lt;/li&gt;
&lt;li&gt;MergeSort(A,p,q)와 MergeSort(A,q+1,r)를 재귀호출 하여 각각 정렬&lt;/li&gt;
&lt;li&gt;각각 정렬된 부분을 합병&lt;/li&gt;
&lt;li&gt;합병 과정에서 마지막에 임시 배열에 있는 합병된 원소들을 배열 A로 복사&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;ex) 합병정렬 자바 코드&lt;/p&gt;
&lt;pre id=&quot;code_1600616989305&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.util.Arrays;
import java.util.Random;

public class MergeSort {

    public static void mergeSort(int[] data, int p, int r){
        int q; // 중간값
        if (p &amp;lt; r){ // 배열의 원소의 수가 2개 이상이라면
            q = (p+r)/2; // 소수점 내림
            mergeSort(data, p, q); //절반
            mergeSort(data, q+1, r); // 남은 절반
            merge(data, p, q, r); // 합병 수행
        }
    }

    public static void merge(int[] data, int p, int q, int r){ // 합병을 수행하는 과정 시작, 중간, 마지
        int i = p; // 시작위치
        int j = q+1; // 중간다음
        int k = p; // 시작위치

        int[] temp = new int[data.length]; // 새로운 임시저장공간

        while (i &amp;lt;= q &amp;amp;&amp;amp; j &amp;lt;= r){
            if (data[i] &amp;lt;= data[j]){
                temp[k++] = data[i++];
            }
            else{
                temp[k++] = data[j++];
            }
        }

        while(i &amp;lt;= q){ temp[k++] = data[i++]; }
        while(j &amp;lt;= r){ temp[k++] = data[j++]; }

        for (int a = p; a &amp;lt;= r; a++){
            data[a] = temp[a];
        }
    }

    public static void main(String[] args){
        Random r = new Random();
        int size = 10000;
        System.out.println(&quot;입력된 데이터의 크기 : &quot; + size);

        int[] data = new int[size];

        for (int i = 0; i &amp;lt; size; i++) {
            data[i] = r.nextInt(100);
        }

        System.out.println(&quot;정렬 전 데이터&quot;);
        for (int i : data){ // 정렬 전 데이터 출력
            System.out.printf(&quot;%d &quot;, i);
        }

        long start = System.currentTimeMillis();

        mergeSort(data,0,data.length -1 ); // 데이터 병합 정렬

        long end = System.currentTimeMillis();
        double total = ((double)end - (double)start)/100;
        
        System.out.println(&quot;\n정렬 후 데이터&quot;);
        for (int i : data){
            System.out.printf(&quot;%d &quot;, i);
        }

        System.out.println(&quot;합병정렬 걸린시간 : &quot; + total + &quot;초&quot;);

    }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;데이터 크기가 8인경우 정렬과정에 대한 설명&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;719&quot; data-origin-height=&quot;870&quot; data-filename=&quot;blob&quot; width=&quot;570&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cfgH1A/btqI5zsyTaN/2w8Af330nZGYy8uH7UR1k1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cfgH1A/btqI5zsyTaN/2w8Af330nZGYy8uH7UR1k1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cfgH1A/btqI5zsyTaN/2w8Af330nZGYy8uH7UR1k1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcfgH1A%2FbtqI5zsyTaN%2F2w8Af330nZGYy8uH7UR1k1%2Fimg.png&quot; data-origin-width=&quot;719&quot; data-origin-height=&quot;870&quot; data-filename=&quot;blob&quot; width=&quot;570&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;합병정렬의 시간복잡도&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;분할하는 부분은 배열의 중간 인덱스 계산과 2번의 재귀 호출이므로 O(1)&lt;/li&gt;
&lt;li&gt;합병의 수행 시간은 입력의 크기에 비례&lt;br /&gt;&amp;gt; 2개의 정렬된 배열의 크기가 각각 m과 n이라면 시간복잡도 O(m+n)&lt;br /&gt;&amp;gt; 각 층에서 수행된 비교 횟수 O(n)&lt;/li&gt;
&lt;li&gt;최종 합병정렬의 시간복잡도 = (층수) X O(n) = log2(n) X O(n) = O(n*logn)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Algorithm</category>
      <author>Coding_mon</author>
      <guid isPermaLink="true">https://meronic.tistory.com/43</guid>
      <comments>https://meronic.tistory.com/43#entry43comment</comments>
      <pubDate>Mon, 21 Sep 2020 01:55:29 +0900</pubDate>
    </item>
    <item>
      <title>자바로 만든 스윙 기반의 GUI 프로그램</title>
      <link>https://meronic.tistory.com/42</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;알고리즘 과제중 순차탐색의 비교 횟수를 측정하는 내용이 있었다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthContent&quot; data-origin-width=&quot;738&quot; data-origin-height=&quot;292&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bkxfJF/btqIBNRCaxN/wPF2J2eu5HJSnLGp3obBG0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bkxfJF/btqIBNRCaxN/wPF2J2eu5HJSnLGp3obBG0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bkxfJF/btqIBNRCaxN/wPF2J2eu5HJSnLGp3obBG0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbkxfJF%2FbtqIBNRCaxN%2FwPF2J2eu5HJSnLGp3obBG0%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;738&quot; height=&quot;292&quot; data-origin-width=&quot;738&quot; data-origin-height=&quot;292&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 비교적 쉬운 내용으로 코드로 표현하는건 어려운일이 아니었고 바로 결과를 확인 할 수 있었다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthContent&quot; data-origin-width=&quot;510&quot; data-origin-height=&quot;102&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dm9BYy/btqIxXtUttO/hltOUzag3kCtBQmztMmYE1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dm9BYy/btqIxXtUttO/hltOUzag3kCtBQmztMmYE1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dm9BYy/btqIxXtUttO/hltOUzag3kCtBQmztMmYE1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdm9BYy%2FbtqIxXtUttO%2FhltOUzag3kCtBQmztMmYE1%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;510&quot; height=&quot;102&quot; data-origin-width=&quot;510&quot; data-origin-height=&quot;102&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러나 터미널 화면에서 보이는 실행화면이 제출용으로는 마음에 들지 않았고&lt;br /&gt;반복측정을 하기위한 인터페이스가 필요하다는 생각이들었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 자바에서 제공하는 스윙 기반의 GUI라이브러리를 이용하여 프로그램으로 만들어 보기로 하였다.&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;widthContent&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1124&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cqfI1t/btqIvDQn8fA/FscUVk86ab5hm2BQVYa60k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cqfI1t/btqIvDQn8fA/FscUVk86ab5hm2BQVYa60k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cqfI1t/btqIvDQn8fA/FscUVk86ab5hm2BQVYa60k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcqfI1t%2FbtqIvDQn8fA%2FFscUVk86ab5hm2BQVYa60k%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;483&quot; height=&quot;1124&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1124&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ComboBox를 사용하여 배열의 크기와 반복횟수를 사용자의 임의로 지정할 수 있게 만들었고&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;widthContent&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1124&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cr6YQz/btqIwZTpOY9/0mVHkAerBni7MknKdWZkSK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cr6YQz/btqIwZTpOY9/0mVHkAerBni7MknKdWZkSK/img.png&quot; data-alt=&quot;1부터 10까지의 랜덤한 정수에서 순차탐색 10회 진행&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cr6YQz/btqIwZTpOY9/0mVHkAerBni7MknKdWZkSK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcr6YQz%2FbtqIwZTpOY9%2F0mVHkAerBni7MknKdWZkSK%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;518&quot; height=&quot;1124&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1124&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;1부터 10까지의 랜덤한 정수에서 순차탐색 10회 진행&lt;/figcaption&gt;
&lt;/figure&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;widthContent&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1124&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ctmTFl/btqIwDJmx0r/tgoDCNQ7xfRCuwHwCnO7KK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ctmTFl/btqIwDJmx0r/tgoDCNQ7xfRCuwHwCnO7KK/img.png&quot; data-alt=&quot;사이즈를 늘렸을때&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ctmTFl/btqIwDJmx0r/tgoDCNQ7xfRCuwHwCnO7KK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FctmTFl%2FbtqIwDJmx0r%2FtgoDCNQ7xfRCuwHwCnO7KK%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;494&quot; height=&quot;1124&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1124&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;사이즈를 늘렸을때&lt;/figcaption&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;지금까지 GUI프로그램은 파이썬으로 만들어보다가 처음 자바로 만들어보는 작업이었는데&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;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthContent&quot; data-origin-width=&quot;1462&quot; data-origin-height=&quot;440&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/AofBw/btqID5R0Q8M/GS5k2YtafKpVIHYn6Mnni1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/AofBw/btqID5R0Q8M/GS5k2YtafKpVIHYn6Mnni1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/AofBw/btqID5R0Q8M/GS5k2YtafKpVIHYn6Mnni1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAofBw%2FbtqID5R0Q8M%2FGS5k2YtafKpVIHYn6Mnni1%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;1462&quot; height=&quot;440&quot; data-origin-width=&quot;1462&quot; data-origin-height=&quot;440&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;</description>
      <category>JAVA</category>
      <category>순차탐색</category>
      <category>알고리즘</category>
      <category>자바</category>
      <category>자바GUI</category>
      <category>자바스윙</category>
      <category>자바프로그램</category>
      <category>프로그램</category>
      <author>Coding_mon</author>
      <guid isPermaLink="true">https://meronic.tistory.com/42</guid>
      <comments>https://meronic.tistory.com/42#entry42comment</comments>
      <pubDate>Sun, 13 Sep 2020 19:25:49 +0900</pubDate>
    </item>
    <item>
      <title>인터프리터 프로그래밍 해석기법, 파이썬</title>
      <link>https://meronic.tistory.com/41</link>
      <description>&lt;p&gt;쉽고 간결한 표현으로 많이 사용되고 있는 프로그래밍 언어인 '파이썬'은&amp;nbsp;&lt;br /&gt;컴파일 언어가 아닌 해석기법의 인터프리터 언어이다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;여기에서는 컴파일 기법과 비교되는 해석(Interpretation)기법의 원리를 정리한다.&lt;/p&gt;
&lt;p&gt;컴파일과 가장 크게 비교되는 부분은 컴파일과정은 원시프로그램을 적당한 형태의 중간언어로&amp;nbsp;&lt;br /&gt;프로그램을 변환하고 최적화를 진행하는 과정을 거치며&lt;/p&gt;
&lt;p&gt;해석기법은 고급언어로 작성된 프로그램을 과정없이 바로 실행하게 되며 실행하는 과정 속에서&lt;br /&gt;인터프리터(Interpreter)라고 불리는 프로그램에 의해 실행되게 된다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;인터프리터는 고급언어를 마치 기계어처럼 취급하는 시뮬레이션 컴퓨팅 프로그램으로&amp;nbsp;&lt;br /&gt;실행과정을 바로 확인 할 수 있다는 간편함이 있지만&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;프로그램의 규모가 커지거나 복잡해질때 속도가 느려지고 효율성이 낮아진다는 단점을 가진다.&lt;/p&gt;</description>
      <category>공부</category>
      <category>인터프리터</category>
      <category>파이썬</category>
      <category>파이썬원리</category>
      <category>파이썬컴파일</category>
      <category>파이썬해석</category>
      <author>Coding_mon</author>
      <guid isPermaLink="true">https://meronic.tistory.com/41</guid>
      <comments>https://meronic.tistory.com/41#entry41comment</comments>
      <pubDate>Fri, 11 Sep 2020 16:34:22 +0900</pubDate>
    </item>
    <item>
      <title>프로그램의 컴파일 과정</title>
      <link>https://meronic.tistory.com/40</link>
      <description>&lt;p&gt;고급언어 (C++, Java, Python..)등으로 작성된 프로그램은 컴퓨터가 바로 인식해서 실행 할 수 없다.&lt;/p&gt;
&lt;p&gt;따라서 고급언어로 작성된 프로그램은 컴퓨터가 인식 할 수 있는 형식으로 변환하는 과정을 거쳐야 한다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;컴파일 과정 (Compile)&lt;br /&gt;&lt;br /&gt;- 고급언어로 작성된 프로그램을 컴퓨터가 바로 실행 할 수 있는 프로그램으로 변환하는 기법을 의미하며&lt;br /&gt;&amp;nbsp; 컴파일을 하는 프로그램을 컴파일러(Compiler)라고 한다. ex) C의 컴파일러 GCC&lt;/p&gt;
&lt;p&gt;컴파일 기법은 번역이 완료되는 즉시 빠르게 프로그램을 실행 시킬 수 있는 장점이 있다.&lt;/p&gt;
&lt;p&gt;과정을 살펴보면 처음 고급언어로 작성된 프로그램을 원시 프로그램 (Source Program)이라 하고&amp;nbsp;&lt;br /&gt;컴파일의 결과로 생성되는 기계어 프로그램을 목적 프로그램 (Object Program)이라고 한다.&lt;/p&gt;
&lt;p&gt;컴파일의 단계를 세부적으로 나누어 본다면&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어휘 분석 단계&lt;/li&gt;
&lt;li&gt;구문 분석 단계&lt;/li&gt;
&lt;li&gt;중간코드 생성 단계&lt;/li&gt;
&lt;li&gt;최적화 단계&lt;/li&gt;
&lt;li&gt;코드생성 단계&lt;/li&gt;
&lt;li&gt;목적 프로그램 생성&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;생성 단계를 제외한 총 5가지의 단계로 구성되어 컴파일을 진행한다.&lt;br /&gt;각 단계에 대한 간단한 설명으로는&lt;/p&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;어휘 분석 단계&lt;br /&gt;- 원시프로그램을 토큰(Token)이라는 단위로 나누고 관련된 정보를 다음단계로 전달한다.&lt;br /&gt;&amp;nbsp; ex) i = 3 일때 'i','=','3'으로 나눈 후 전달하는 단계&lt;/li&gt;
&lt;li&gt;구문 분석 단계&lt;br /&gt;- 어휘 분석 단계에서 전달받은 토큰들이 문법적으로 옳은지 검사를 하고&amp;nbsp;&lt;br /&gt;&amp;nbsp; 문법상의 오류가 없다면 '&lt;a href=&quot;https://ko.wikipedia.org/wiki/%ED%8C%8C%EC%8A%A4_%ED%8A%B8%EB%A6%AC&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;파스 트리&lt;/a&gt;' 구조를 생성한다.&lt;/li&gt;
&lt;li&gt;중간코드 생성 단계 (ex : 어셈블리어)&lt;br /&gt;- 완전한 기계어는 아니지만 기계어에 가까운 중간 코드로 된 프로그램을 생성한다.&lt;br /&gt;- 이 과정에서 문법적인 오류가 아닌 의미적인 오류를 검사하게 된다.&lt;/li&gt;
&lt;li&gt;최적화 단계&lt;br /&gt;- 중간코드에서 불필요한 코드를 제거하거나 더 효율적인 코드로 개선하여 실행속도를 빠르게 한다.&lt;/li&gt;
&lt;li&gt;프로그램 생성&lt;br /&gt;- 최적화된 중간코드로 부터 컴퓨터가 인식할수 있는 프로그램을 만들어 낸다. 끝&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>공부</category>
      <category>C언어</category>
      <category>디버깅</category>
      <category>컴파일</category>
      <category>프로그래밍</category>
      <category>프로그램</category>
      <category>해석기법</category>
      <author>Coding_mon</author>
      <guid isPermaLink="true">https://meronic.tistory.com/40</guid>
      <comments>https://meronic.tistory.com/40#entry40comment</comments>
      <pubDate>Fri, 11 Sep 2020 16:27:15 +0900</pubDate>
    </item>
    <item>
      <title>프로그래밍 언어의 설계 원칙</title>
      <link>https://meronic.tistory.com/39</link>
      <description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;- 효율성 (efficiency)&lt;/p&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;목적코드의 효율성&lt;br /&gt;- 컴파일러, 인터프리터가 효율적인 실행 코드를 생성 할 수 있어야 함.&lt;/li&gt;
&lt;li&gt;번역의 효율성&lt;br /&gt;- 설계된 언어가 번역기에 의해 빠르게 번역될 수 있어야 함.&lt;/li&gt;
&lt;li&gt;구현 용이성&lt;br /&gt;- 설계된 언어가 복잡하다면 용이성이 떨어지게 됨&lt;/li&gt;
&lt;li&gt;프로그래밍 효율성&lt;br /&gt;- 언어로 얼마나 빠르고 쉽게 프로그램을 작성할수 있는가&amp;nbsp;&lt;br /&gt;- 언어 구조가 간결하다면 프로그래밍의 효율성이 높아지게 됨 (LISP)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;- 일반성 (generality)&lt;br /&gt;&amp;nbsp; &amp;gt; 밀접하게 관련 있는 개념들을 하나의 더 일반적인 것으로 결합하는 성질&lt;/p&gt;
&lt;p&gt;- 직교성 (Orthogonality)&lt;br /&gt;&amp;nbsp; &amp;gt; 언어의 구성자가 문맥이 다르다고 다른 의미를 가져서는 안된다는 성질&lt;/p&gt;
&lt;p&gt;- 획일성 (Uniformity)&lt;br /&gt;&amp;nbsp; &amp;gt; 비슷하게 보이는것 은 비슷하게, 의미를 가져야 한다.&lt;/p&gt;
&lt;p&gt;- 간경성 (Simplicity)&lt;br /&gt;&amp;nbsp; &amp;gt; 언어는 복잡하지 않으며 간결해야 된다.&lt;/p&gt;
&lt;p&gt;- 표현력 (Expressiveness)&lt;br /&gt;&amp;nbsp; &amp;gt; 복잡한 과정이나 구조를 프로그래밍 언어로서 얼마나 쉽게 표현이 가능한 정도&lt;br /&gt;&amp;nbsp; &amp;gt; 표현력은 간결성과 상충이 될 수 있음 (비슷한 반비례관계)&lt;/p&gt;
&lt;p&gt;- 확장성 (Extensibility)&lt;br /&gt;&amp;nbsp; &amp;gt; 사용자가 언어에 새로운 기능을 추가 할 수 있도록 하자는 성질,&lt;br /&gt;&amp;nbsp; ex) 새로운 데이터 타입 정의, 라이브러리 추가..&lt;/p&gt;
&lt;p&gt;- 정확성 (Preciseness)&lt;br /&gt;&amp;nbsp; &amp;gt; 프로그램의 실행을 예측 할 수 있도록 하는 언어에 대한 정확한 정의가 있는 정도&lt;/p&gt;
&lt;p&gt;- 기계 독립성 (Machine independence)&lt;br /&gt;&amp;nbsp; &amp;gt; 언어가 특정 하드웨어에 의존적이지 않고 독립적이어야 한다.&lt;/p&gt;
&lt;p&gt;- 제약성 (Restrictability)&lt;br /&gt;&amp;nbsp; &amp;gt; 언어에 대한 최소한의 지식과 일부 언어 구조만 알고 있더라도 프로그램을 작성 할 수 있어야 한다.&lt;/p&gt;
&lt;p&gt;- 보안성 (Security)&lt;br /&gt;&amp;nbsp; &amp;gt; 신뢰성과 밀접한 연관을 가지며 프로그램의 오류의 수를 최소화 해야 한다.&lt;/p&gt;</description>
      <category>공부</category>
      <category>기계어</category>
      <category>설계원칙</category>
      <category>어셈블리</category>
      <category>언어</category>
      <category>원칙</category>
      <category>프로그래밍</category>
      <category>프로그래밍언어</category>
      <author>Coding_mon</author>
      <guid isPermaLink="true">https://meronic.tistory.com/39</guid>
      <comments>https://meronic.tistory.com/39#entry39comment</comments>
      <pubDate>Fri, 11 Sep 2020 16:14:05 +0900</pubDate>
    </item>
    <item>
      <title>프로그래밍 언어란</title>
      <link>https://meronic.tistory.com/38</link>
      <description>&lt;p&gt;일단 프로그래밍 언어는 컴퓨터가 알아 들을 수 있는 언어를 칭한다&lt;/p&gt;
&lt;p&gt;예를 들어 토종 미국인에게 알아듣게 말을 하려면 영어로 , 일본인에게는 일본어로 말하듯이&lt;br /&gt;컴퓨터도 컴퓨터의 언어로 말을 해야 알아 듣는다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;컴퓨터의 시스템은 스스로 인식 할 수 있는 명령어들로 이루어진 프로그램에 의하여 동작되며&lt;br /&gt;여기서 사용하는 프로그래밍 언어는 프로그램을 작성하기 위한 인공적인 언어이다.&lt;/p&gt;
&lt;p&gt;크게 프로그래밍 언어를 저급언어(Low level), 고급언어(High leve)로 나눌수 있는데&lt;br /&gt;언어가 싸구려라서 저급이 아니고 시대적이고 편리함에 따라서 분류를 한것이다.&lt;/p&gt;
&lt;p&gt;- 저급언어 ex) 기계어(01010101011), 어셈블리어(mov ax...)&lt;/p&gt;
&lt;p&gt;- 고급언어 ex) python, java, C++ ,&lt;br /&gt;&amp;nbsp; &amp;nbsp;C -&amp;gt; 시대에 따라서 중급언어로 불리기도 함&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;저급언어는 초기에 사용되던 하드웨어 지향의 기계 중심 언어로, 하드웨어와 밀접한 기능을 제어하는&lt;br /&gt;프로그램을 작성하는데 주로 사용되며 복잡하다는 특징을 가지지만 그만큼 성능이 빠르다.&lt;/p&gt;
&lt;p&gt;하지만 복잡하다라는 단점은 코드를 작성시 많은 불편함을 가져오게 되었고 이로 인해&lt;br /&gt;사용자의 언어와 비슷한 고급언어가 개발되어 사용되었다.&lt;/p&gt;</description>
      <category>공부</category>
      <category>C</category>
      <category>C++</category>
      <category>코딩</category>
      <category>파이썬</category>
      <category>프로그래밍</category>
      <category>프로그래밍언어</category>
      <author>Coding_mon</author>
      <guid isPermaLink="true">https://meronic.tistory.com/38</guid>
      <comments>https://meronic.tistory.com/38#entry38comment</comments>
      <pubDate>Fri, 11 Sep 2020 14:21:10 +0900</pubDate>
    </item>
    <item>
      <title>알고리즘의 효율성, 시간복잡도 (Big-O) notation</title>
      <link>https://meronic.tistory.com/37</link>
      <description>&lt;p&gt;알고리즘의 효율성은&lt;/p&gt;
&lt;p&gt;&amp;nbsp;- 알고리즘의 수행시간 (시간복잡도, Time Complexity)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;- 수행하는동안 사용되는 메모리 공간의 크기 (공간복잡도, Space complexity)&lt;/p&gt;
&lt;p&gt;로 나타낼 수 있다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;사용되는 메모리, 공간등은 주어진 환경에 따라서 다르기 때문에 보통 알고리즘을 비교할때는&amp;nbsp;&lt;/p&gt;
&lt;p&gt;시간복잡도로 표현한다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;시간복잡도는 알고리즘의 수행하는 기본적인 연산의 횟수를 입력의 크기에 대한 함수로 표현한다.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;ex) 크기가 N인 데이터를 순차적으로 비교 한다면 총 비교 횟수는 (N-1)이 되므로&lt;br /&gt;크기가 N인 순차적인 알고리즘의 시간복잡도는 (N-1)이다.&lt;/p&gt;
&lt;p&gt;시간복잡도는 표현할때는 3가지의 분석 방법이 주어지는데&lt;/p&gt;
&lt;p&gt;1. 최악의 경우 분석 (Worst Case Analysis)&lt;/p&gt;
&lt;p&gt;2. 평균의 경우 분석 (Averge Case Analysis)&lt;/p&gt;
&lt;p&gt;3. 최선의 경우 분석 (Best Case Analysis) 로 나누어 진다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;일반적으로 나타낼때는 최악의 경우로 복잡도를 나타낸다 &amp;gt; 가장 최악의 경우이므로 더 나빠질 수가 없기 때문에..&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;순차적인 알고리즘을 예로 들어볼때 1,2,3,4,5 의 배열에서 숫자를 찾는다고 가정하면&lt;/p&gt;
&lt;p&gt;숫자 5를 찾을때는 1 &amp;gt; 2 &amp;gt; 3&amp;gt; 4 &amp;gt; 5 까지 총 4번의 순차적인 과정이 있었기 때문에 최악의 경우로 볼 수 있다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;만약 숫자 1을 찾을때는 1에서 한번의 비교로 찾게되며 이 경우는 최선의 경우로 볼 수 있다.&lt;/p&gt;
&lt;p&gt;숫자 3을 찾는 경우 평균의 경우로 볼 수 있으며&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;자료의 양과 찾는 데이터의 값에 따라 최선,최악의 과정의 값이 차이가 많이 나게 된다.&lt;br /&gt;운이 좋으면 한번만에 찾을 수도 있고 안좋으면 마지막까지 비교를 해야된다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;시간복잡도는 입력 크기에 대한 함수로 표기하는데 이때 함수는 복잡한 식을 가진 다항식으로서 표현 될 수 있다.&lt;/p&gt;
&lt;p&gt;이떄 복잡한 식을 간단하게 표현하기 위해 표시할때는 점근적 표기(Asymptotic notation)를 사용한다.&lt;br /&gt;고등학교때 배운 n이 무한대로 갈때 극한을 생각하면 이해하기가 편할것같다.&lt;/p&gt;
&lt;p&gt;크기가 최대라고 가정할때 식에서 최고차항만 계수없이 취하고 나머지는 다루지 않는다.&lt;/p&gt;
&lt;p&gt;이러한 표현을&lt;/p&gt;
&lt;p&gt;- O (Big-Oh), 빅오 - 표기&amp;nbsp;&amp;nbsp;라고 한다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Algorithm</category>
      <category>big-oh</category>
      <category>notation</category>
      <category>빅오표기법</category>
      <category>시간복잡도</category>
      <category>알고리즘</category>
      <category>알고리즘표기</category>
      <author>Coding_mon</author>
      <guid isPermaLink="true">https://meronic.tistory.com/37</guid>
      <comments>https://meronic.tistory.com/37#entry37comment</comments>
      <pubDate>Thu, 10 Sep 2020 19:24:08 +0900</pubDate>
    </item>
    <item>
      <title>최초의 알고리즘</title>
      <link>https://meronic.tistory.com/36</link>
      <description>&lt;p&gt;가장 오래된 알고리즘은 A.C 300년 전에 만들어진 유클리드의 최대공약수를 찾는 알고리즘으로 알려져 있다.&lt;br /&gt;최대공약수(GCD) : 2개 이상의 자연수들의 공통된 약수중 가장 큰 수&amp;nbsp;&lt;/p&gt;
&lt;p&gt;유클리드는 2개의 자연수의 최대공약수를 구하기 위해&lt;/p&gt;
&lt;p&gt;큰 수에서 작은 수를 뺀 수&lt;/p&gt;
&lt;p&gt;작은수와의 최대공약수는 같다 라는 성질을 이용하여 최대공약수를 찾았다.&lt;/p&gt;
&lt;p&gt;ex) 24와 14의 최대공약수 (큰수 : 24, 작은수 :14)&lt;br /&gt;&amp;nbsp;큰수 - 작은 수&amp;nbsp; ::&amp;nbsp; &amp;nbsp;24 - 14 = 10&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;gt; 10과 작은수(14)와의 최대 공약수는 같다&amp;nbsp;&lt;br /&gt;&amp;gt;&amp;gt; 이 과정에서 다시 큰수는 14, 작은수는 10으로 swap되며 소분해 나갈때 0을 제외한 나머지 수가&amp;nbsp;&lt;/p&gt;
&lt;p&gt;두 수의 최대 공약수 이다.&amp;nbsp;&lt;br /&gt;최대공약수 ( n, 0 ) = n&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Algorithm</category>
      <category>알고리즘</category>
      <category>유클리드</category>
      <category>최대공약수</category>
      <author>Coding_mon</author>
      <guid isPermaLink="true">https://meronic.tistory.com/36</guid>
      <comments>https://meronic.tistory.com/36#entry36comment</comments>
      <pubDate>Thu, 10 Sep 2020 18:43:00 +0900</pubDate>
    </item>
    <item>
      <title>알고리즘이란</title>
      <link>https://meronic.tistory.com/35</link>
      <description>&lt;p&gt;알고리즘이라는 이름은 페르시아 수학자인 '알콰리즈미'로부터 유래 되었다고 한다. 이건 별로 기억할 필요는 없고&lt;/p&gt;
&lt;p&gt;여러 의미를 가지고 있는것 같은데&amp;nbsp;&lt;/p&gt;
&lt;p&gt;내가 생각하는 알고리즘은 문제를 해결하는 단계적인 절차, 또는 방법이라고 생각한다.&lt;/p&gt;
&lt;p&gt;여기서 문제를 해결하기 위한 도구는 컴퓨터이며 여기서 입력이 주어지며&lt;/p&gt;
&lt;p&gt;알고리즘을 통해 결과를 출력 받는다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;알고리즘의 특성으로는&lt;/p&gt;
&lt;p&gt;1. 정확성&lt;/p&gt;
&lt;p&gt;&amp;gt; 알고리즘은 주어진 입력에 대하여 올바른 정답만을 도출해 내어야 하며 오답을 뱉을시 이는 알고리즘이라고 할 수 없다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;2. 수행성&lt;/p&gt;
&lt;p&gt;&amp;gt; 알고리즘의 각 단계는 코드는 컴파일러에 의하여 기계어로 번역이 가능하며 수행이 되어야 한다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;즉 컴퓨터가 알아먹을 수 있는 언어로 작성되어야 한다는 말이다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;3. 유한성&lt;/p&gt;
&lt;p&gt;&amp;gt;&amp;nbsp; 알고리즘은 일정한 시간내에서 종료되어야 한다.&lt;/p&gt;
&lt;p&gt;무한 루프 (loop)에 빠지거나 최악의 시간복잡도 O(n^2), O(2^n)을 가지는 경우 현실적으로 정답을 얻기가 어려우며&lt;/p&gt;
&lt;p&gt;알고리즘으로서의 가치를 잃게 된다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;4. 효율성&lt;/p&gt;
&lt;p&gt;&amp;gt; 알고리즘은 항상 시간적, 공간적인 효율성 지녀야 한다 이러한 이유는 입력되는 데이터의 양이 많을 수록&lt;/p&gt;
&lt;p&gt;가치를 볼 수 있기 때문이다. 효율성에서는 메모리의 공간등이 포함된다.&amp;nbsp;&lt;/p&gt;</description>
      <category>Algorithm</category>
      <category>알고리즘</category>
      <author>Coding_mon</author>
      <guid isPermaLink="true">https://meronic.tistory.com/35</guid>
      <comments>https://meronic.tistory.com/35#entry35comment</comments>
      <pubDate>Thu, 10 Sep 2020 18:33:41 +0900</pubDate>
    </item>
    <item>
      <title>프로그래머스 자바 전화번호 목록</title>
      <link>https://meronic.tistory.com/34</link>
      <description>&lt;pre id=&quot;code_1599727630788&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;public static boolean solution(String[] phone_book){

        for (int i = 0; i &amp;lt; phone_book.length; i ++){
            String target = phone_book[i];
            int target_length = target.length();
            
            for (int j = i + 1; j &amp;lt; phone_book.length; j++){

                if (target_length &amp;lt; phone_book[j].length()) {
                    if (target.equals(phone_book[j].substring(0, target_length)) == true) {
                        return false;
                    }
                }

                else if (target_length &amp;gt; phone_book[j].length()){
                    if (phone_book[j].equals(target.substring(0,phone_book[j].length())) == true){
                        return false;
                    }
                }

            }

        }
        return true;
    }&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;문제에서 접두사라고 하였으나 풀어서 보면&lt;/p&gt;
&lt;p&gt;앞에 글자를 비교하라는 문제 였다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;그래서 배열의 첫번째 문자열을 타겟으로 잡고 길이를 변수로 저장하여&lt;/p&gt;
&lt;p&gt;다음 문자열이 더 크면 큰 문자열을 자르고 비교 하고&amp;nbsp;&lt;/p&gt;
&lt;p&gt;타겟의 길이가 더 크면 타겟을 잘라서 비교하는 알고리즘을 사용 하였다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;시간복잡도는 o(n^2)로 데이터 양이 늘어나면 최악&lt;/p&gt;</description>
      <category>JAVA</category>
      <author>Coding_mon</author>
      <guid isPermaLink="true">https://meronic.tistory.com/34</guid>
      <comments>https://meronic.tistory.com/34#entry34comment</comments>
      <pubDate>Thu, 10 Sep 2020 17:51:14 +0900</pubDate>
    </item>
    <item>
      <title>피보나치 수열 함수 코딩, 알고리즘,  Fibonacci Algorithm 코드</title>
      <link>https://meronic.tistory.com/23</link>
      <description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;앞서배운 팩토리얼 코드에서 재귀함수에 대해서 알아보았는데요&lt;/p&gt;
&lt;p&gt;자기 자신을 호출하는 재귀 호출은 피보나치 수열의 알고리즘에서도 사용됩니다.&lt;/p&gt;
&lt;p&gt;피보나치 수열은&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;앞의 두항을 합친 값이 다음 항이 되는 수열 &lt;/b&gt;입니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;처음에 1부터 시작한다고 하면&lt;/p&gt;
&lt;p&gt;1, 1, 2, 3, 5, 8, 13, 21.... 이런식으로 나타낼 수 있습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bBk1CR/btqCgSya5JR/cEbpHhkP3pDktkZOsjxdJ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bBk1CR/btqCgSya5JR/cEbpHhkP3pDktkZOsjxdJ0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bBk1CR/btqCgSya5JR/cEbpHhkP3pDktkZOsjxdJ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbBk1CR%2FbtqCgSya5JR%2FcEbpHhkP3pDktkZOsjxdJ0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;한 7, 8번째 항까지는 손으로도 쉽게 구할 수 있을텐데&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;피보나치수열의 30번째 항을 구하라고 한다면 ?&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;손으로는 약간 무리가 올거같고 그렇다고 못할것도 없어서 노가다를 뛰어서 구했는데&lt;/p&gt;
&lt;p&gt;계산 실수라도 해서 잘못구하면&lt;/p&gt;
&lt;p&gt;마음이 많이 쓰라릴거같습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;그래서 피보나치수열을 일반항 공식을 사용해서 구하자니 이거&amp;nbsp;&lt;/p&gt;
&lt;p&gt;우리가 중,고등학교때 배운 그런 쉬운 공식이 아닌데요&lt;/p&gt;
&lt;p&gt;피보나치 수열의 일반항은&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lMz4F/btqCevDJ3dj/KwcbxdUNPyDVSKEmxq62SK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lMz4F/btqCevDJ3dj/KwcbxdUNPyDVSKEmxq62SK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lMz4F/btqCevDJ3dj/KwcbxdUNPyDVSKEmxq62SK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlMz4F%2FbtqCevDJ3dj%2FKwcbxdUNPyDVSKEmxq62SK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p&gt;입니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;여기에 30을 때려 넣고 계산하자니 그것도 쉽지가 않네요...?&lt;/p&gt;
&lt;p&gt;아니 그냥 손으로 덧셈하는게 더 빠를 것 같습니다.&lt;/p&gt;
&lt;p&gt;30제곱승을 계산하는거 자체가 말이 안되기 때문이죠  &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;그래서 사람들이 계산기를 발명하고&lt;/p&gt;
&lt;p&gt;그러다 또 안되니까 컴퓨터가 나온거 아닐까요?&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;우리가 손으로 안되면 컴퓨터한테 명령만 내리면그만인것을&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;그래서&lt;/p&gt;
&lt;p&gt;오늘은 피보나치 수열의 N번째 항을 구하기 위한 코드를 알아보도록 하겠습니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;피보나치 수열의 함수에서 n번째 항은&lt;/p&gt;
&lt;p&gt;n-2 번째 항과 n-1번째 항의 합 입니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;예시로 피보나치 수열의 6번째 항은&lt;/p&gt;
&lt;p&gt;수열의 5번째 항과 4번째 항의 합이며&lt;/p&gt;
&lt;p&gt;5번째 항은 4번째 항과 3번째 항의 합,&lt;/p&gt;
&lt;p&gt;4번째 항은 3번재 항과 2번쨰 항의 합&amp;nbsp;&lt;/p&gt;
&lt;p&gt;3번째 항은 2번째 항과 1번째 항의 합&amp;nbsp;&lt;/p&gt;
&lt;p&gt;.&lt;/p&gt;
&lt;p&gt;.&lt;/p&gt;
&lt;p&gt;입니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;여기서 눈치가 빠르신 분들이나 , &lt;a href=&quot;https://meronic.tistory.com/20&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;팩토리얼 재귀함수 코딩&lt;/a&gt; 글을 읽어 보셨다면&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;피보나치 함수 안에 피보나치 함수가 존재한다는걸 알 수 있을것 같습니다.&lt;/b&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/N7nBW/btqCd13ZqK6/2tB6KorZaxE0iXaFL4LKv1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/N7nBW/btqCd13ZqK6/2tB6KorZaxE0iXaFL4LKv1/img.png&quot; data-alt=&quot;피보나치 수열의 6번째 항에 대한 설명&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/N7nBW/btqCd13ZqK6/2tB6KorZaxE0iXaFL4LKv1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FN7nBW%2FbtqCd13ZqK6%2F2tB6KorZaxE0iXaFL4LKv1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&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;/&gt;&lt;/span&gt;&lt;figcaption&gt;피보나치 수열의 6번째 항에 대한 설명&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p&gt;이는 재귀적인 호출이며 오늘은 이 표현을 사용하여&amp;nbsp;&lt;/p&gt;
&lt;p&gt;피보나치 수열을 알고리즘을 코드로 구현해보겠습니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;자바로 구현 하였으며,&lt;/p&gt;
&lt;p&gt;다른 언어도 문법은 다르겠지만 방식을 똑같습니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;재귀호출을 사용하여 피보나치수열 코드 만들기&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p&gt;public static int fibonacci(int n) { &lt;span style=&quot;color: #409d00;&quot;&gt;// 수가 길어질때는 long형 사용&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; int one = 1;&amp;nbsp; &lt;span style=&quot;color: #409d00;&quot;&gt;// 피보나치 수열의 첫번째 항&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; int two = 1;&amp;nbsp; &lt;span style=&quot;color: #409d00;&quot;&gt;// 피보나치 수열의 두번쨰 항&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; if (n == one) { &lt;span style=&quot;color: #409d00;&quot;&gt;// 구하고자 하는 항이 첫번째 항일경우&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return one; &lt;span style=&quot;color: #409d00;&quot;&gt;// 첫번째 항을 반환 합니다.&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; } &lt;br /&gt;&amp;nbsp; &amp;nbsp; else if (n == 2) {&amp;nbsp; &lt;span style=&quot;color: #409d00;&quot;&gt;// 두번째 항일 경우&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&amp;nbsp; &amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&amp;nbsp; &amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;return two;&amp;nbsp; &lt;span style=&quot;color: #409d00;&quot;&gt;// 두번째 항을 반환 합니다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&amp;nbsp; &amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;} &lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&amp;nbsp; &amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;else {&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&amp;nbsp; &amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&amp;nbsp; &amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;return fibonacci(n-1) + fibonacci(n-2);&amp;nbsp; &lt;span style=&quot;color: #409d00;&quot;&gt;// n번째 항을 구하기 위해 n-1번째 항과, n-2번째 항을 다시 불러와&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #409d00;&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; 더한 뒤 반환 합니다. 여기에서 재귀호출을 사용합니다.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&amp;nbsp; &amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;} &lt;br /&gt;&lt;br /&gt;}&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;이렇게 되면 피보나치 수열의 n번째 항을 구할 수 있게 됩니다.&lt;/p&gt;
&lt;p&gt;그럼 이 함수를 사용해 아까 구하려고 했던 피보나치의 30번째 항을 구해보도록 하겠습니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1433&quot; data-origin-height=&quot;648&quot; data-filename=&quot;blob&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/csas5s/btqCdhlGwns/5P0imwIWjij8yNmfnFSrck/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/csas5s/btqCdhlGwns/5P0imwIWjij8yNmfnFSrck/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/csas5s/btqCdhlGwns/5P0imwIWjij8yNmfnFSrck/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcsas5s%2FbtqCdhlGwns%2F5P0imwIWjij8yNmfnFSrck%2Fimg.png&quot; data-origin-width=&quot;1433&quot; data-origin-height=&quot;648&quot; data-filename=&quot;blob&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p&gt;그냥 숫자만 툭 내뱉으면 정이 없어보이니까&lt;/p&gt;
&lt;p&gt;몇가지 멘트만 추가해서 만들어 봤습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Ss8sk/btqCgQ8f0Lg/UfiXvgTXpdvLTrdOylgCu1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Ss8sk/btqCgQ8f0Lg/UfiXvgTXpdvLTrdOylgCu1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Ss8sk/btqCgQ8f0Lg/UfiXvgTXpdvLTrdOylgCu1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSs8sk%2FbtqCgQ8f0Lg%2FUfiXvgTXpdvLTrdOylgCu1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;제대로 작동하는걸 확인 할 수 있습니다.&lt;/p&gt;
&lt;p&gt;우리가 구하고 했던 피보나치 수열의 30번째 항은&amp;nbsp;&lt;/p&gt;
&lt;p&gt;832040 이었네요&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;그런데 피보나치수열은 이렇게 숫자 하나만 뱉으면 정이 없어보이니까&amp;nbsp;&lt;/p&gt;
&lt;p&gt;n번째 항 전까지들도 추가 해주겠습니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bwnn2H/btqCjdIrIl1/YqUYRj1ufSK4i5pbirRh10/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bwnn2H/btqCjdIrIl1/YqUYRj1ufSK4i5pbirRh10/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bwnn2H/btqCjdIrIl1/YqUYRj1ufSK4i5pbirRh10/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbwnn2H%2FbtqCjdIrIl1%2FYqUYRj1ufSK4i5pbirRh10%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p&gt;n번째 항을 구하면 n번째 항까지의 수열을 전부 나타 내도록 수정하였습니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;다시 30번째 항을 구하면&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bnThcn/btqCgoc6T13/izaeCKMdKyY5wJ7vwvfNc0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bnThcn/btqCgoc6T13/izaeCKMdKyY5wJ7vwvfNc0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bnThcn/btqCgoc6T13/izaeCKMdKyY5wJ7vwvfNc0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbnThcn%2FbtqCgoc6T13%2FizaeCKMdKyY5wJ7vwvfNc0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;1항부터 30항까지 나타내어지는걸 볼 수 있게 됩니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p&gt;재귀적인 표현에 대한 이해를 하였고 코드로도 만들었으며 계산도 하면 이제는&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;피보나치 수열의 100번째 항도 구할 수 있겠죠?&lt;/p&gt;
&lt;p&gt;저 코드를 사용해서 구해보시면 될거같은데...&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;아마아마아마 무지 오래 걸리실 겁니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;몇시간도 더 걸리실지도 몰라요&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;기억만 하고 있으면 참 편리할텐데&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;다음 글에서는 재귀호출의 중복계산 스택의 팝업을 피하고&lt;/p&gt;
&lt;p&gt;피보나치 수열의 100번째 항을 구해보도록 하겠습니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;도움이 되셨으면 좋겠습니다. 땡큐&lt;/p&gt;</description>
      <category>JAVA</category>
      <category>memoization</category>
      <category>메모이제이션</category>
      <category>재귀함수</category>
      <category>재귀호출</category>
      <category>코딩</category>
      <category>프로그래밍</category>
      <category>피보나치</category>
      <category>피보나치수열</category>
      <category>피보나치코드</category>
      <category>피보나치함수</category>
      <author>Coding_mon</author>
      <guid isPermaLink="true">https://meronic.tistory.com/23</guid>
      <comments>https://meronic.tistory.com/23#entry23comment</comments>
      <pubDate>Tue, 25 Feb 2020 21:21:56 +0900</pubDate>
    </item>
    <item>
      <title>'20. 02. 25</title>
      <link>https://meronic.tistory.com/22</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bCjYgd/btqCinElX81/Rj06ucpg7uwRhi5krVCkF1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bCjYgd/btqCinElX81/Rj06ucpg7uwRhi5krVCkF1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bCjYgd/btqCinElX81/Rj06ucpg7uwRhi5krVCkF1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbCjYgd%2FbtqCinElX81%2FRj06ucpg7uwRhi5krVCkF1%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; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&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 data-ke-size=&quot;size16&quot;&gt;나는 25일이 싫다&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음달 25일에도 내가 생존해 있기를...................................&lt;/p&gt;</description>
      <category>일상</category>
      <category>카드</category>
      <category>카드값</category>
      <category>카드값나가는날</category>
      <author>Coding_mon</author>
      <guid isPermaLink="true">https://meronic.tistory.com/22</guid>
      <comments>https://meronic.tistory.com/22#entry22comment</comments>
      <pubDate>Tue, 25 Feb 2020 16:36:58 +0900</pubDate>
    </item>
    <item>
      <title>팩토리얼 함수 코딩, 알고리즘 ,Factorial Algorithm (재귀함수)</title>
      <link>https://meronic.tistory.com/20</link>
      <description>&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p&gt;앞에서는 반복함수로 팩토리얼 알고리즘을 구현하였는데&amp;nbsp;&lt;/p&gt;
&lt;p&gt;이번에는 재귀함수를 사용하여 팩토리얼을 구해보도록 하겠습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/5vr3i/btqCe46oAmM/Rk65dheSTNKKYHSuAzKy40/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/5vr3i/btqCe46oAmM/Rk65dheSTNKKYHSuAzKy40/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/5vr3i/btqCe46oAmM/Rk65dheSTNKKYHSuAzKy40/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5vr3i%2FbtqCe46oAmM%2FRk65dheSTNKKYHSuAzKy40%2Fimg.jpg&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;그림이 이해가 되셨으면 좋겠네요&lt;/p&gt;
&lt;p&gt;재귀함수, 재귀호출 이라고 하며 여기서 재귀는&lt;/p&gt;
&lt;p&gt;자기 자신을 포함하고 다시 자기 자신을 사용한다&amp;nbsp;&lt;/p&gt;
&lt;p&gt;이런 느낌을 재귀적이라고 합니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;무슨말인지 모르시겠다면 그게 맞는겁니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;나는 나고 나라는건 나야&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;재귀적으로 자신을 말할때 저렇게 말할 수 있게됩니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;무슨말인지 모르시겠다면 그게 맞는겁니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;즉 &lt;b&gt;자기 자신을 포함하는 것&lt;/b&gt;이라고 생각하시면 편할것 같습니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;팩토리얼을 설명하는데 왜 재귀함수를 이야기하는지 모르시겠다구요?&lt;/p&gt;
&lt;p&gt;여기서 팩토리얼의 공식을 조금 더 자세히 살펴보겠습니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;이해를 돕기위해 n &amp;gt; 5 라고 가정할시&lt;/p&gt;
&lt;p&gt;n! = n*(n-1)*(n-2)*(n-3)...........4*3*2*1 입니다.&lt;/p&gt;
&lt;p&gt;(n-1)! = &lt;span style=&quot;color: #333333;&quot;&gt;(n-1)*(n-2)*(n-3)...........4*3*2*1&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;(n-2)! = &lt;span style=&quot;color: #333333;&quot;&gt;(n-2)*(n-3)...........4*3*2*1&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;(n-3)! = &lt;span style=&quot;color: #333333;&quot;&gt;(n-3)...........4*3*2*1&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;5! = 5*&lt;span style=&quot;color: #333333;&quot;&gt;4*3*2*1&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;4! = &lt;span style=&quot;color: #333333;&quot;&gt;4*3*2*1&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;3! = &lt;span style=&quot;color: #333333;&quot;&gt;3*2*1&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;2! = &lt;span style=&quot;color: #333333;&quot;&gt;2*1&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;1! = 1 입니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p&gt;무언가 보이시나요? 얼른 코드만 보여드리면 되는데&lt;/p&gt;
&lt;p&gt;왜이렇게 서론이 길까요?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;여기서 팩토리얼 안에 팩토리얼이 존재한다는걸 알아채신분들이 있기를 바랍니다. ㅠㅠ&lt;/p&gt;
&lt;p&gt;즉, &lt;b&gt;n! 안에 (n-1)!&lt;/b&gt; 이 존재하며&lt;/p&gt;
&lt;p&gt;&lt;b&gt; (n-2)!안에서는 (n-3)!&lt;/b&gt;이 존재합니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;그래서 팩토리얼 공식을 다시 정의하면&lt;/p&gt;
&lt;p&gt;&lt;b&gt;n! = n*(n-1)!&lt;/b&gt; 로 나타 낼 수 있게 되는 겁니다.&lt;/p&gt;
&lt;p&gt;여기까지 재귀적 표현을 이해하셨으면 재귀함수 구현은 쉬워지게 됩니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;앞서 반복함수로 표현한것과 달리&amp;nbsp;&lt;/p&gt;
&lt;p&gt;함수 안에서 함수를 호출하면 되니까요&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;자바로 구현 했으며,&lt;/p&gt;
&lt;p&gt;물론 다른 언어도 방식은 똑같습니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;b&gt;재귀함수를 사용하여 팩토리얼 코드 만들기&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p&gt;public static long factorial_R(int n) { &lt;span style=&quot;color: #409d00;&quot;&gt;// 반환값은 int형도 상관 없습니다.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; if (n == 1) { &lt;span style=&quot;color: #409d00;&quot;&gt;// 1! 일때의 경우를 따로 정의합니다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; return 1;&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; else { &lt;br /&gt;&amp;nbsp; &amp;nbsp; return n*(factorial_R(n-1)); &lt;span style=&quot;color: #409d00;&quot;&gt;// 여기서 반환값에 우리가 정의한 factorial_R함수를 다시 호출합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #409d00;&quot;&gt;&amp;nbsp; &amp;nbsp; 반환값은 처음의 n값과 n에서 -1 된 factorial_R 함수의 반환 값의 곱이 되게 되며&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #409d00;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;n! = n*(n-1)! 과 같은 표현이 되겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; } &lt;br /&gt;}&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p&gt;코드로 표현하면 반복함수를 사용하였을 때보다 많이 간단해지는걸 볼 수 있게됩니다.&lt;/p&gt;
&lt;p&gt;단순하게 팩토리얼 알고리즘이 저거 구나 보다는&lt;/p&gt;
&lt;p&gt;재귀적인 표현에 대해 이해를 하셨으면 합니다.&lt;/p&gt;
&lt;p&gt;도움이 되셨으면 좋겠습니다. 땡큐&lt;/p&gt;</description>
      <category>JAVA</category>
      <category>반복함수</category>
      <category>알고리즘</category>
      <category>재귀함수</category>
      <category>재귀호출</category>
      <category>코드</category>
      <category>코딩</category>
      <category>팩토리얼</category>
      <category>팩토리얼알고리즘</category>
      <category>팩토리얼코드</category>
      <category>팩토리얼함수</category>
      <author>Coding_mon</author>
      <guid isPermaLink="true">https://meronic.tistory.com/20</guid>
      <comments>https://meronic.tistory.com/20#entry20comment</comments>
      <pubDate>Mon, 24 Feb 2020 21:09:00 +0900</pubDate>
    </item>
    <item>
      <title>팩토리얼 함수 코딩, 알고리즘 , Factorial Algorithm (반복함수)</title>
      <link>https://meronic.tistory.com/18</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/daMStQ/btqCdh6t2O5/ELDVk93w1ShtszlAkOcawK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/daMStQ/btqCdh6t2O5/ELDVk93w1ShtszlAkOcawK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/daMStQ/btqCdh6t2O5/ELDVk93w1ShtszlAkOcawK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdaMStQ%2FbtqCdh6t2O5%2FELDVk93w1ShtszlAkOcawK%2Fimg.jpg&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;팩토리얼은 n&lt;span&gt;부터&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;까지의 정수를 곱하는 단순한 연산이라고 할 수 있는데요 &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;예시로 5!는&lt;span&gt; 5 * 4 * 3 * 2 * 1 = 120&lt;/span&gt;&lt;/span&gt;&lt;span&gt; 입니다&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;반복적인 곱의 연산 형태이며 알고리즘 코드로 구현 해보겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;자바로 구현 했으며,&lt;/p&gt;
&lt;p&gt;물론 다른 언어도 방식은 똑같습니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;&lt;b&gt;반복함수를 사용하여 팩토리얼 코드 만들기&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; n! = n*(n-1)*(n-2).....(n-(n-1)) 에서 마지막에 곱해진는 정수가 1이 될때까지 곱셈을 합니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;반복문이므로 for문과 while문중 하나를 선택해서 구현하는데&lt;/p&gt;
&lt;p&gt;&amp;nbsp;정해진 조건이 있으므로 for문을 사용하여 구현을 합니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p&gt;public static long factorial(int n) {&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #409d00;&quot;&gt;// long형으로 반환 합니다. 길이가 짧으면 int형도 상관없습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; int i = 0; &lt;span style=&quot;color: #409d00;&quot;&gt;// n을 감소시키기 위한 변수&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; int var = 1; &lt;span style=&quot;color: #409d00;&quot;&gt;// 감소하는 n의 값을 담을 변수&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; long result = 1; &lt;span style=&quot;color: #409d00;&quot;&gt;// 결과 값을 담을 변수 입니다. 초기 값은 1로 지정합니다.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; if (n &amp;gt;= 1) { &lt;span style=&quot;color: #409d00;&quot;&gt;// n이 정수형으로 팩토리얼이 계산 가능한 경우인지 먼저 확인합니다.&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (i = 0; i &amp;lt; n; i++) { &lt;span style=&quot;color: #409d00;&quot;&gt;// i의 값을&amp;nbsp; 증가 시킵니다.&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var = n-i;&amp;nbsp; &lt;span style=&quot;color: #409d00;&quot;&gt;// n의 값을 변수에 지정&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; result = result*var; &lt;span style=&quot;color: #409d00;&quot;&gt;// n과 감소된 n을 곱하여 담습니다.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;if((n-i)==1) { &lt;span style=&quot;color: #409d00;&quot;&gt;// 계속 감소해 나가면서 n-i 의 값이 1이 되었을때 (마지막 부분)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;return result; &lt;span style=&quot;color: #409d00;&quot;&gt;// 결과를 반환하고 함수를 종료 합니다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;} &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } &lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; } &lt;br /&gt;&amp;nbsp; &amp;nbsp; else if (n == 0) { &lt;span style=&quot;color: #409d00;&quot;&gt;// 0!에 대한 경우는 따로 분류&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; result = 1; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return result; &lt;br /&gt;&amp;nbsp; &amp;nbsp; } &lt;br /&gt;&amp;nbsp; &amp;nbsp; else { &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;System.out.println(&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;System.out.println(&lt;/a&gt;&quot;Error&quot;); &lt;span style=&quot;color: #409d00;&quot;&gt;// 그외 실수와 음수는 에러처리&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; } &lt;br /&gt;&amp;nbsp; &amp;nbsp; return 0; &lt;br /&gt;}&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p&gt;입력받는 정수의 범위까지 고려하고 0!까지 포함시켜&lt;/p&gt;
&lt;p&gt;최대한 자세히 설명을 해봤습니다&lt;/p&gt;
&lt;p&gt;팩토리얼 같은 경우는 생각하는건 쉬워보이지만&lt;/p&gt;
&lt;p&gt;반복함수로 표현하기까지&lt;/p&gt;
&lt;p&gt;알고리즘을 생각하는게 약간 까다로운것 같습니다.&lt;/p&gt;
&lt;p&gt;도움이 되셨으면 좋겠습니다. 땡큐&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>JAVA</category>
      <category>알고리즘</category>
      <category>이중for문</category>
      <category>재귀함수</category>
      <category>조건문</category>
      <category>팩토리얼</category>
      <category>팩토리얼계산</category>
      <category>팩토리얼계산기</category>
      <category>팩토리얼알고리즘</category>
      <category>팩토리얼재귀함수</category>
      <category>팩토리얼함수</category>
      <author>Coding_mon</author>
      <guid isPermaLink="true">https://meronic.tistory.com/18</guid>
      <comments>https://meronic.tistory.com/18#entry18comment</comments>
      <pubDate>Mon, 24 Feb 2020 02:14:08 +0900</pubDate>
    </item>
    <item>
      <title>쉬운 파이썬 코딩 2.  숫자 더하기 빼기 곱하기 나누기</title>
      <link>https://meronic.tistory.com/15</link>
      <description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;처음에 파이썬을 설치하고 컴퓨터에게 'Hello World'를 출력하도록 명령해봤습니다.&lt;/p&gt;
&lt;p&gt;그럼 이번에는 컴퓨터에게 숫자를 계산하라는 명령을 내려보도록 하겠습니다.&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;파이썬에서는 사칙연산자&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;(+, -, *, /)&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;를 통하여 계산기 처럼 계산을 할 수 있습니다&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;1) &lt;/span&gt;덧셈&lt;span&gt;, &lt;/span&gt;뺄셈&lt;span&gt;, &lt;/span&gt;곱셈&lt;span&gt;, &lt;/span&gt;나눗셈의 계산&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/uaEw5/btqCbUXXEkA/rrgi09ax6J2HVxf285wV1k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/uaEw5/btqCbUXXEkA/rrgi09ax6J2HVxf285wV1k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/uaEw5/btqCbUXXEkA/rrgi09ax6J2HVxf285wV1k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FuaEw5%2FbtqCbUXXEkA%2Frrgi09ax6J2HVxf285wV1k%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span&gt;'a = 3', 'b = 4'&lt;/span&gt;라는 명령어는 변수&lt;span&gt; 'a'&lt;/span&gt;와&lt;span&gt; 'b'&lt;/span&gt;에 각각의&lt;span&gt; '3'&lt;/span&gt;과 &lt;span&gt;'4'&lt;/span&gt;라는&lt;/p&gt;
&lt;p&gt;데이터 값을 할당한다라는 뜻을 가집니다&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;여기서&lt;span&gt; a&lt;/span&gt;와&lt;span&gt; b&lt;/span&gt;의 사칙연산 관계를 출력하기 위해&lt;span&gt; 'print'&lt;/span&gt;라는 함수를 이용하여 명령어를 입력해줍니다&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kBsyF/btqCcU34x46/jtLCLeYYK8HTmXe0sRskcK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kBsyF/btqCcU34x46/jtLCLeYYK8HTmXe0sRskcK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kBsyF/btqCcU34x46/jtLCLeYYK8HTmXe0sRskcK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkBsyF%2FbtqCcU34x46%2FjtLCLeYYK8HTmXe0sRskcK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;print명령문 안에 , 표시는 출력 구문을 나누기 위해 사용할 수 있습니다.&lt;/p&gt;
&lt;p&gt;덧셈을 계산할때는&lt;span&gt; '+', &lt;/span&gt;뺄셈을 계산할때는&lt;span&gt; '-', &lt;/span&gt;곱셈과 나눗셈의 계산은&lt;span&gt; 'x'&lt;/span&gt;와&lt;span&gt; '/'&lt;/span&gt;기호를&lt;/p&gt;
&lt;p&gt;이용하여 입력을 해줍니다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;'F5'&lt;/span&gt;버튼을 이용하여 입력한 내용을 실행하면 다음과 같이&lt;span&gt; 'Shell'&lt;/span&gt;화면이 나오면서 입력한 명령어에 대한 화면이 출력되게 됩니다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nsaS6/btqCdgFKYnm/wNg5eEkIfIDFERKgAhsYsK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nsaS6/btqCdgFKYnm/wNg5eEkIfIDFERKgAhsYsK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nsaS6/btqCdgFKYnm/wNg5eEkIfIDFERKgAhsYsK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnsaS6%2FbtqCdgFKYnm%2FwNg5eEkIfIDFERKgAhsYsK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;3 + 4 = 다음에는 , 다음에 나타난 변수 a + b 의 출력 값인 7 이 나타내어 집니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;그 다음으로는 제곱과 나머지 몫에 대해서 알아보겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bRH9SJ/btqCcCP5y69/IOwRqRbfSKPOk07hORChmK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bRH9SJ/btqCcCP5y69/IOwRqRbfSKPOk07hORChmK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bRH9SJ/btqCcCP5y69/IOwRqRbfSKPOk07hORChmK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbRH9SJ%2FbtqCcCP5y69%2FIOwRqRbfSKPOk07hORChmK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;다음으로 제곱을 나타날때는&lt;span&gt; '**'&lt;/span&gt;기호를&lt;span&gt;,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;'a**b'&lt;/span&gt;라는 명령어는&lt;span&gt; 'a&lt;/span&gt;의&lt;span&gt; b&lt;/span&gt;제곱&lt;span&gt;'&lt;/span&gt;이라는 뜻을 의미합니다&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;여기서&lt;span&gt; 'a**b'&lt;/span&gt;는&lt;span&gt; '3&lt;/span&gt;을&lt;span&gt; 4&lt;/span&gt;번 제곱&lt;span&gt;'&lt;/span&gt;한 값을 구하는 명령어가 됩니다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;나눗셈을 할때는&lt;span&gt; '/'&lt;/span&gt;기호를 사용합니다&lt;span&gt;. &lt;/span&gt;여기서 몫과 나머지를 구하는 방법은&lt;/p&gt;
&lt;p&gt;나눗셈 후 나머지를 알고 싶을때는&lt;span&gt; '%'&lt;/span&gt;기호를 사용하여 나타내며&lt;/p&gt;
&lt;p&gt;여기서&lt;span&gt; '7%3'&lt;/span&gt;은&lt;span&gt; 7&lt;/span&gt;을&lt;span&gt; 3&lt;/span&gt;으로 나눈 나머지를 구하는 명령어 입니다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;나눗셈 후 몫을 알고싶을때는&lt;span&gt; '//'&lt;/span&gt;기호를 사용하여 나타내며&lt;/p&gt;
&lt;p&gt;&lt;span&gt;'7//3'&lt;/span&gt;은&lt;span&gt; 7&lt;/span&gt;을&lt;span&gt; 3&lt;/span&gt;으로 나눈 몫을 구하는 명령어 입니다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;각각의 계산식을 출력하기 위해&lt;span&gt; 'print'&lt;/span&gt;함수를 이용하여 명령어를 입력하고&lt;span&gt; 'F5'&lt;/span&gt;버튼을&lt;/p&gt;
&lt;p&gt;눌러 파이썬을 실행시킵니다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wej2v/btqCd12GiQ5/P6MsSV8T8BAVHlOFOXK5HK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wej2v/btqCd12GiQ5/P6MsSV8T8BAVHlOFOXK5HK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wej2v/btqCd12GiQ5/P6MsSV8T8BAVHlOFOXK5HK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fwej2v%2FbtqCd12GiQ5%2FP6MsSV8T8BAVHlOFOXK5HK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span&gt;'Shell'&lt;/span&gt;&lt;span&gt;화면을 통해 계산한 값을 확인 할 수가 있습니다&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;숫자형을 계산하는 명령어를 알아보았고 다음에는&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;print명령어를 사용한 문자열에 대해 다루겠습니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;도움이 되셨다면 공감버튼 부탁드립니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Python</category>
      <category>Python</category>
      <category>python int</category>
      <category>숫자형</category>
      <category>코딩</category>
      <category>코딩교육</category>
      <category>파이썬</category>
      <category>파이썬계산</category>
      <category>파이썬숫자</category>
      <category>파이썬숫자형</category>
      <category>프로그래밍</category>
      <author>Coding_mon</author>
      <guid isPermaLink="true">https://meronic.tistory.com/15</guid>
      <comments>https://meronic.tistory.com/15#entry15comment</comments>
      <pubDate>Sun, 23 Feb 2020 19:39:40 +0900</pubDate>
    </item>
    <item>
      <title>쉬운 파이썬 코딩 1. 파이썬 다운로드 및 설치 (Python install)</title>
      <link>https://meronic.tistory.com/9</link>
      <description>&lt;p&gt;프로그래밍이나 코딩을 공부하신 분들이라면&lt;/p&gt;
&lt;p&gt;제일 쉽고 간단하면서 작업속도가 빠른 언어가 무엇이냐고 물어보면&lt;/p&gt;
&lt;p&gt;대부분의 사람들이 '파이썬(Python)'이라고 답할 것입니다.&lt;/p&gt;
&lt;p&gt;파이썬의 특징을 간단하게 알아보면&lt;/p&gt;
&lt;p&gt;문법이 쉬워 빠르게 학습할 수 있으며 대부분의 모든 일을 파이썬 하나로만 해결이 가능합니다.&lt;/p&gt;
&lt;p&gt;그러고 무엇보다도 무료이며 &lt;b&gt;개발속도가 빠릅니다.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;이부분은 나중에 다룰 웹 해킹에서 아주 유용하게 사용할 수 있게 되면서&lt;/p&gt;
&lt;p&gt;직장인들의 반복되는 업무에서도 자주 사용됩니다.&lt;/p&gt;
&lt;p&gt;그렇다면 오늘은 첫페이지로 간단하게 파이썬의 설치 방법에 대해서 다루겠습니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nWx0W/btqB9XOwjlo/nQg6eUnd75hmGPqC0wA6jk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nWx0W/btqB9XOwjlo/nQg6eUnd75hmGPqC0wA6jk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nWx0W/btqB9XOwjlo/nQg6eUnd75hmGPqC0wA6jk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnWx0W%2FbtqB9XOwjlo%2FnQg6eUnd75hmGPqC0wA6jk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;1.&amp;nbsp;파이썬을&amp;nbsp;다운로드&amp;nbsp;하기&amp;nbsp;위해&amp;nbsp;인터넷&amp;nbsp;검색창에&amp;nbsp;'python'을&amp;nbsp;검색하여&amp;nbsp;통해&amp;nbsp;공식&amp;nbsp;사이트인 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;'&lt;a href=&quot;python.org'에&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;python.org'에&lt;/a&gt;&amp;nbsp;접속을&amp;nbsp;합니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bzL6ws/btqCaRNS6RO/0lVaGv8yuZBeE0MExfScEk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bzL6ws/btqCaRNS6RO/0lVaGv8yuZBeE0MExfScEk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bzL6ws/btqCaRNS6RO/0lVaGv8yuZBeE0MExfScEk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbzL6ws%2FbtqCaRNS6RO%2F0lVaGv8yuZBeE0MExfScEk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2.&amp;nbsp;사이트에&amp;nbsp;접속하게&amp;nbsp;되면&amp;nbsp;보이는&amp;nbsp;상단부분'Downloads'를&amp;nbsp;클릭합니다. &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/l5pWy/btqCbUXB9hf/RlScHXAVoOokHCPP7LhVKk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/l5pWy/btqCbUXB9hf/RlScHXAVoOokHCPP7LhVKk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/l5pWy/btqCbUXB9hf/RlScHXAVoOokHCPP7LhVKk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fl5pWy%2FbtqCbUXB9hf%2FRlScHXAVoOokHCPP7LhVKk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;3. 자신의 컴퓨터에 맞는 운영체제를 환경을 선택하여 클릭을 합니다. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cjIgWi/btqCagtvPve/FVRyxKHxulHnYIiS46agM0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cjIgWi/btqCagtvPve/FVRyxKHxulHnYIiS46agM0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cjIgWi/btqCagtvPve/FVRyxKHxulHnYIiS46agM0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcjIgWi%2FbtqCagtvPve%2FFVRyxKHxulHnYIiS46agM0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;4.&amp;nbsp;파이썬은&amp;nbsp;두&amp;nbsp;가지의&amp;nbsp;버전이&amp;nbsp;있는데&amp;nbsp;파이썬2와&amp;nbsp;파이썬3는&amp;nbsp;일부&amp;nbsp;다른&amp;nbsp;부분이&amp;nbsp;있습니다. &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;파이썬2는&amp;nbsp;2.7버전을&amp;nbsp;마지막으로&amp;nbsp;추가&amp;nbsp;업데이트가&amp;nbsp;이루어지지&amp;nbsp;않고&amp;nbsp;파이썬3와&amp;nbsp;호환되지 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;않는&amp;nbsp;부분이&amp;nbsp;있기&amp;nbsp;&amp;nbsp;때문에&amp;nbsp;가장&amp;nbsp;최신버전인&amp;nbsp;파이썬3를&amp;nbsp;다운받겠습니다. &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;zip파일은&amp;nbsp;설치를&amp;nbsp;하지&amp;nbsp;않고&amp;nbsp;압축만&amp;nbsp;풀어서&amp;nbsp;실행시킬때&amp;nbsp;사용하기&amp;nbsp;때문에&amp;nbsp;처음&amp;nbsp;사용하는 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;부분에&amp;nbsp;있어서는&amp;nbsp;불편할&amp;nbsp;수&amp;nbsp;있으므로&amp;nbsp;설치가&amp;nbsp;간편한&amp;nbsp;installer파일을&amp;nbsp;다운&amp;nbsp;받아&amp;nbsp;실행합니다.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pgxqE/btqCckPhErd/FyuP4CwiE24a8vs8XtJyUk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pgxqE/btqCckPhErd/FyuP4CwiE24a8vs8XtJyUk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pgxqE/btqCckPhErd/FyuP4CwiE24a8vs8XtJyUk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpgxqE%2FbtqCckPhErd%2FFyuP4CwiE24a8vs8XtJyUk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;5.&amp;nbsp;다운로드&amp;nbsp;받은&amp;nbsp;설치&amp;nbsp;프로그램을&amp;nbsp;실행하면&amp;nbsp;위와&amp;nbsp;같은&amp;nbsp;화면이&amp;nbsp;나오게&amp;nbsp;되는데&amp;nbsp;여기서 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;파이썬을&amp;nbsp;어느&amp;nbsp;곳에서든지&amp;nbsp;실행&amp;nbsp;할&amp;nbsp;수&amp;nbsp;있도록&amp;nbsp;하기&amp;nbsp;위해&amp;nbsp;windows&amp;nbsp;환경변수에 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;파이썬이&amp;nbsp;설치된&amp;nbsp;경로를&amp;nbsp;추가하는&amp;nbsp;옵션인&amp;nbsp;노란색으로&amp;nbsp;강조한&amp;nbsp;'Add&amp;nbsp;Pyton&amp;nbsp;3.7&amp;nbsp;to&amp;nbsp;PATH' &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;박스를&amp;nbsp;체크를&amp;nbsp;하고&amp;nbsp;설치를&amp;nbsp;합니다. &lt;br /&gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/byHsTm/btqCd1H2vuY/mJiWAikgKKFWvIFOMyOZKK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/byHsTm/btqCd1H2vuY/mJiWAikgKKFWvIFOMyOZKK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/byHsTm/btqCd1H2vuY/mJiWAikgKKFWvIFOMyOZKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbyHsTm%2FbtqCd1H2vuY%2FmJiWAikgKKFWvIFOMyOZKK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;※&amp;nbsp;체크를&amp;nbsp;선택&amp;nbsp;안하고&amp;nbsp;설치를&amp;nbsp;하면&amp;nbsp;명령프롬프트&amp;nbsp;상에서&amp;nbsp;'python'이라는&amp;nbsp;명령어를 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;입력하였을때&amp;nbsp;시&amp;nbsp;다른&amp;nbsp;프로그램에서는&amp;nbsp;파이썬의&amp;nbsp;설치&amp;nbsp;경로를&amp;nbsp;인식&amp;nbsp;하지&amp;nbsp;못하기 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;때문에&amp;nbsp;위와&amp;nbsp;같은&amp;nbsp;화면이&amp;nbsp;나오게&amp;nbsp;됩니다. &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dElIp4/btqCd0h2BBE/XStBxwwAjbgNZkIyi7RZtK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dElIp4/btqCd0h2BBE/XStBxwwAjbgNZkIyi7RZtK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dElIp4/btqCd0h2BBE/XStBxwwAjbgNZkIyi7RZtK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdElIp4%2FbtqCd0h2BBE%2FXStBxwwAjbgNZkIyi7RZtK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;※&amp;nbsp;체크를&amp;nbsp;하고&amp;nbsp;설치를&amp;nbsp;하고&amp;nbsp;똑같이&amp;nbsp;실행을&amp;nbsp;하면&amp;nbsp;여기서는&amp;nbsp;시스템의&amp;nbsp;환경변수에&amp;nbsp;파이썬이 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;등록이&amp;nbsp;되어&amp;nbsp;통합환경이&amp;nbsp;아니어도&amp;nbsp;명령프롬프트&amp;nbsp;상에서&amp;nbsp;바로&amp;nbsp;사용이&amp;nbsp;가능하다는&amp;nbsp;걸&amp;nbsp;확인 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;할&amp;nbsp;수가&amp;nbsp;있습니다. &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b584LX/btqCcBQOxFN/91YpKneASyzj4KX75dEaV0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b584LX/btqCcBQOxFN/91YpKneASyzj4KX75dEaV0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b584LX/btqCcBQOxFN/91YpKneASyzj4KX75dEaV0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb584LX%2FbtqCcBQOxFN%2F91YpKneASyzj4KX75dEaV0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;5.&amp;nbsp;설치가&amp;nbsp;완료&amp;nbsp;된&amp;nbsp;후&amp;nbsp;윈도우의&amp;nbsp;시작버튼을&amp;nbsp;누르게&amp;nbsp;되면&amp;nbsp;파이썬이&amp;nbsp;설치가&amp;nbsp;되었다는&amp;nbsp;걸 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;확인&amp;nbsp;할&amp;nbsp;수가&amp;nbsp;있습니다.&amp;nbsp;여기서&amp;nbsp;사용하는&amp;nbsp;프로그램은&amp;nbsp;크게&amp;nbsp;2가지로&amp;nbsp;나눌&amp;nbsp;수가&amp;nbsp;있는데 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;하나는&amp;nbsp;'Python&amp;nbsp;3.7'과&amp;nbsp;'IDLE&amp;nbsp;(Python&amp;nbsp;3.7)'&amp;nbsp;파일입니다. &lt;br /&gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;'python&amp;nbsp;3.7'&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/6TpEY/btqCd0bg4su/LiaVQYbOBa3ehL1ICG0Fe1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/6TpEY/btqCd0bg4su/LiaVQYbOBa3ehL1ICG0Fe1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/6TpEY/btqCd0bg4su/LiaVQYbOBa3ehL1ICG0Fe1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6TpEY%2FbtqCd0bg4su%2FLiaVQYbOBa3ehL1ICG0Fe1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;5-1)&amp;nbsp;첫번째&amp;nbsp;'Python'프로그램은&amp;nbsp;실행&amp;nbsp;시키게&amp;nbsp;되면&amp;nbsp;검은색&amp;nbsp;화면이&amp;nbsp;나오게&amp;nbsp;되는데&amp;nbsp;이&amp;nbsp;화면을 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;'Shell'이라고&amp;nbsp;합니다.&amp;nbsp;여기서는&amp;nbsp;간단한&amp;nbsp;소스코드를&amp;nbsp;바로&amp;nbsp;실행하는&amp;nbsp;환경을&amp;nbsp;제공합니다. &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;여기에서는&amp;nbsp;입력한&amp;nbsp;하나의&amp;nbsp;소스코드가&amp;nbsp;끝나면&amp;nbsp;결과를&amp;nbsp;바로&amp;nbsp;출력해주기&amp;nbsp;때문에&amp;nbsp;확인을 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;빨리&amp;nbsp;할&amp;nbsp;수&amp;nbsp;있다는&amp;nbsp;편리&amp;nbsp;함이&amp;nbsp;있지만&amp;nbsp;오타가&amp;nbsp;발생하거나&amp;nbsp;잘못&amp;nbsp;정보를&amp;nbsp;입력&amp;nbsp;했을&amp;nbsp;시 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;수정을&amp;nbsp;할&amp;nbsp;수&amp;nbsp;없고&amp;nbsp;종료를&amp;nbsp;하면&amp;nbsp;입력한&amp;nbsp;소스코드가&amp;nbsp;사라지기&amp;nbsp;때문에&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;복잡한&amp;nbsp;작업에&amp;nbsp;있어서는&amp;nbsp;다소&amp;nbsp;불편하다는&amp;nbsp;단점이&amp;nbsp;있습니다. &lt;br /&gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;'IDLE&amp;nbsp;(Python&amp;nbsp;3.7)'&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b6hvUW/btqCdhj1OmN/KCeWsDpCLTlK50jDNQ8Aak/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b6hvUW/btqCdhj1OmN/KCeWsDpCLTlK50jDNQ8Aak/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b6hvUW/btqCdhj1OmN/KCeWsDpCLTlK50jDNQ8Aak/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb6hvUW%2FbtqCdhj1OmN%2FKCeWsDpCLTlK50jDNQ8Aak%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;5-2)&amp;nbsp;'IDLE&amp;nbsp;(Python&amp;nbsp;3.7)'&amp;nbsp;은&amp;nbsp;쉽게&amp;nbsp;생각하면&amp;nbsp;코드를&amp;nbsp;편집&amp;nbsp;할&amp;nbsp;수&amp;nbsp;있는&amp;nbsp;통합개발환경&amp;nbsp;입니다. &lt;br /&gt;&lt;br /&gt;&amp;nbsp;실행시키게&amp;nbsp;되면&amp;nbsp;앞에서&amp;nbsp;보았던&amp;nbsp;'Shell'창이&amp;nbsp;나오게&amp;nbsp;되고&amp;nbsp;여기서&amp;nbsp;코딩한&amp;nbsp;내용을&amp;nbsp;파일로 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;저장을&amp;nbsp;할&amp;nbsp;수&amp;nbsp;있고&amp;nbsp;불러올&amp;nbsp;수도&amp;nbsp;있습니다. &lt;br /&gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ST4ST/btqCbTR1QOY/pn6gzSTg7kdDyYSKvphmu0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ST4ST/btqCbTR1QOY/pn6gzSTg7kdDyYSKvphmu0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ST4ST/btqCbTR1QOY/pn6gzSTg7kdDyYSKvphmu0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FST4ST%2FbtqCbTR1QOY%2Fpn6gzSTg7kdDyYSKvphmu0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;br /&gt;'File'&amp;nbsp;&amp;gt;&amp;nbsp;'New&amp;nbsp;File'&amp;nbsp;클릭하여&amp;nbsp;코딩창을&amp;nbsp;새로&amp;nbsp;만들어&amp;nbsp;줍니다. &lt;br /&gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bMhioH/btqCagf0puy/PsUuBKM2RO4sG7wQfPhk31/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bMhioH/btqCagf0puy/PsUuBKM2RO4sG7wQfPhk31/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bMhioH/btqCagf0puy/PsUuBKM2RO4sG7wQfPhk31/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbMhioH%2FbtqCagf0puy%2FPsUuBKM2RO4sG7wQfPhk31%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;편집을&amp;nbsp;할&amp;nbsp;수&amp;nbsp;있는&amp;nbsp;에디터라고&amp;nbsp;하는&amp;nbsp;화면이&amp;nbsp;나오게&amp;nbsp;되는데&amp;nbsp;여기에서&amp;nbsp;이제&amp;nbsp;명령문들을 &lt;br /&gt;&lt;br /&gt;입력하여&amp;nbsp;코드를&amp;nbsp;만들&amp;nbsp;수&amp;nbsp;있고&amp;nbsp;수정도&amp;nbsp;할&amp;nbsp;수&amp;nbsp;있습니다. &lt;br /&gt;&lt;br /&gt;여러&amp;nbsp;줄을&amp;nbsp;입력해도&amp;nbsp;바로&amp;nbsp;결과를&amp;nbsp;보여주지&amp;nbsp;않고&amp;nbsp;실행을&amp;nbsp;시켜야지만&amp;nbsp;명령을&amp;nbsp;실행합니다. &lt;br /&gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/czZuVB/btqCaTkAwXU/6sZiLmTRHCVAPbtBwSSO01/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/czZuVB/btqCaTkAwXU/6sZiLmTRHCVAPbtBwSSO01/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/czZuVB/btqCaTkAwXU/6sZiLmTRHCVAPbtBwSSO01/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FczZuVB%2FbtqCaTkAwXU%2F6sZiLmTRHCVAPbtBwSSO01%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;br /&gt;6.&amp;nbsp;간단한&amp;nbsp;예제로&amp;nbsp;에디터창에&amp;nbsp;'Hello&amp;nbsp;World'라는&amp;nbsp;글자를&amp;nbsp;출력해주는&amp;nbsp;명령어를&amp;nbsp;입력하고 &lt;br /&gt;&lt;br /&gt;작성한&amp;nbsp;프로그램을&amp;nbsp;실행시키기&amp;nbsp;위해서&amp;nbsp;'Run'을&amp;nbsp;클릭합니다. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bWhqvQ/btqCcVBwYyy/Ko5W8D90M5FsfS3Y87vfUk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bWhqvQ/btqCcVBwYyy/Ko5W8D90M5FsfS3Y87vfUk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bWhqvQ/btqCcVBwYyy/Ko5W8D90M5FsfS3Y87vfUk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbWhqvQ%2FbtqCcVBwYyy%2FKo5W8D90M5FsfS3Y87vfUk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;6-1)&amp;nbsp;여기서&amp;nbsp;'Run&amp;nbsp;Module'을&amp;nbsp;클릭하면&amp;nbsp;입력한&amp;nbsp;명령어를&amp;nbsp;실행하게&amp;nbsp;되고&amp;nbsp;간편하게&amp;nbsp;'F5'버튼으로도&amp;nbsp;작동을&amp;nbsp;하는&amp;nbsp;걸&amp;nbsp;알수&amp;nbsp;있습니다. &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cyn6sY/btqCbgUaFjQ/B0Qetthm4ScAEKOyMXF9GK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cyn6sY/btqCbgUaFjQ/B0Qetthm4ScAEKOyMXF9GK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cyn6sY/btqCbgUaFjQ/B0Qetthm4ScAEKOyMXF9GK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcyn6sY%2FbtqCbgUaFjQ%2FB0Qetthm4ScAEKOyMXF9GK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;※&amp;nbsp;처음&amp;nbsp;새로운&amp;nbsp;파일을&amp;nbsp;만들고&amp;nbsp;실행을&amp;nbsp;하였을때는&amp;nbsp;작성한&amp;nbsp;코드를&amp;nbsp;저장을&amp;nbsp;하라는&amp;nbsp;메세지가&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;나오며&amp;nbsp;저장을&amp;nbsp;하지&amp;nbsp;않을&amp;nbsp;경우&amp;nbsp;실행이&amp;nbsp;불가능하므로&amp;nbsp;경로는&amp;nbsp;자유롭게&amp;nbsp;정의하고&amp;nbsp;저장 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;을&amp;nbsp;하고&amp;nbsp;난&amp;nbsp;다음에&amp;nbsp;실행합니다. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bE9y3G/btqCdgyEWS3/wlmRrfJlXlX9kSxevBdXo0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bE9y3G/btqCdgyEWS3/wlmRrfJlXlX9kSxevBdXo0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bE9y3G/btqCdgyEWS3/wlmRrfJlXlX9kSxevBdXo0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbE9y3G%2FbtqCdgyEWS3%2FwlmRrfJlXlX9kSxevBdXo0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;8.&amp;nbsp;저장을&amp;nbsp;하고&amp;nbsp;실행을&amp;nbsp;하게&amp;nbsp;되면&amp;nbsp;처음&amp;nbsp;실행했을때&amp;nbsp;보았던&amp;nbsp;'Shell'화면이&amp;nbsp;나오게&amp;nbsp;되면서 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;에디터&amp;nbsp;창에서&amp;nbsp;입력했던&amp;nbsp;명령문이&amp;nbsp;실행되는걸&amp;nbsp;확인&amp;nbsp;할&amp;nbsp;수&amp;nbsp;있습니다.&amp;nbsp;여기&amp;nbsp;'Shell'에서는 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;에디터&amp;nbsp;에서&amp;nbsp;입력한&amp;nbsp;코드를&amp;nbsp;다&amp;nbsp;가지고&amp;nbsp;실행&amp;nbsp;된&amp;nbsp;상태이기&amp;nbsp;때문에&amp;nbsp;입력한&amp;nbsp;코드를&amp;nbsp;다시&amp;nbsp;또 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;입력해야된다는&amp;nbsp;번거로움이&amp;nbsp;없습니다. &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bTAHEl/btqCd0I7aTE/KgqtRWXiGYlah83tSyzevK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bTAHEl/btqCd0I7aTE/KgqtRWXiGYlah83tSyzevK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bTAHEl/btqCd0I7aTE/KgqtRWXiGYlah83tSyzevK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbTAHEl%2FbtqCd0I7aTE%2FKgqtRWXiGYlah83tSyzevK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;9.&amp;nbsp;작성한&amp;nbsp;프로그램을&amp;nbsp;실행시키기&amp;nbsp;위해서는&amp;nbsp;해당파일에&amp;nbsp;마우스&amp;nbsp;오른쪽&amp;nbsp;버튼을&amp;nbsp;눌러서&amp;nbsp;나오는&amp;nbsp;'Edit&amp;nbsp;with&amp;nbsp;IDLE'항목으로&amp;nbsp;실행&amp;nbsp;시키면&amp;nbsp;만들었던&amp;nbsp;에디터&amp;nbsp;창이&amp;nbsp;나오게&amp;nbsp;됩니다. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/1HCfW/btqCcjplhkC/GQ4qGtfcCiEe9kdyvKdF30/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/1HCfW/btqCcjplhkC/GQ4qGtfcCiEe9kdyvKdF30/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/1HCfW/btqCcjplhkC/GQ4qGtfcCiEe9kdyvKdF30/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F1HCfW%2FbtqCcjplhkC%2FGQ4qGtfcCiEe9kdyvKdF30%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&amp;nbsp; 'Hello World'를 출력하는 프로그램을 만드는게 프로그래밍 언어의 첫 걸음입니다.&lt;/p&gt;
&lt;p&gt;여기까지 따라오신 여러분들은 오늘 컴퓨터에게 'Hello World'를 출력하게 명령하였으며&lt;/p&gt;
&lt;p&gt;앞으로 더 많은 명령을 컴퓨터에게 내려 실행시키는 방법을 배우게 도와드리겠습니다.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Python</category>
      <category>교육</category>
      <category>기초</category>
      <category>코딩</category>
      <category>코딩교육</category>
      <category>파이썬</category>
      <category>파이썬교육</category>
      <category>파이썬기초</category>
      <category>파이썬설치</category>
      <category>파이썬실행</category>
      <category>프로그래밍</category>
      <author>Coding_mon</author>
      <guid isPermaLink="true">https://meronic.tistory.com/9</guid>
      <comments>https://meronic.tistory.com/9#entry9comment</comments>
      <pubDate>Sun, 23 Feb 2020 00:24:57 +0900</pubDate>
    </item>
  </channel>
</rss>