<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.9.3">Jekyll</generator><link href="https://kkdbudglf.github.io/feed.xml" rel="self" type="application/atom+xml" /><link href="https://kkdbudglf.github.io/" rel="alternate" type="text/html" /><updated>2023-03-08T08:35:35+00:00</updated><id>https://kkdbudglf.github.io/feed.xml</id><title type="html">KBG NOTE</title><subtitle>KBG's Technical Note.</subtitle><author><name>KKDBUDGLF</name></author><entry><title type="html">[케이쉴드 주니어] - 케이쉴드 주니어 10기 지원 후기</title><link href="https://kkdbudglf.github.io/k-shield%20junior/K-Shield-Apply-Reviews/" rel="alternate" type="text/html" title="[케이쉴드 주니어] - 케이쉴드 주니어 10기 지원 후기" /><published>2023-03-08T00:00:00+00:00</published><updated>2023-03-08T00:00:00+00:00</updated><id>https://kkdbudglf.github.io/k-shield%20junior/K-Shield%20Apply%20Reviews</id><content type="html" xml:base="https://kkdbudglf.github.io/k-shield%20junior/K-Shield-Apply-Reviews/">&lt;h1 id=&quot;케이쉴드-주니어-10기-지원-후기&quot;&gt;케이쉴드 주니어 10기 지원 후기&lt;/h1&gt;

&lt;hr /&gt;

&lt;h1 id=&quot;소개&quot;&gt;소개&lt;/h1&gt;

&lt;p&gt;케이쉴드주니어는 &lt;strong&gt;과학기술정보통신부가 주최&lt;/strong&gt;하고 &lt;strong&gt;한국인터넷진흥원이 주관&lt;/strong&gt;하는 &lt;strong&gt;사이버 보안 전문 주니어 인력 양성을 목표로 하는 교육 프로그램&lt;/strong&gt;입니다.&lt;/p&gt;

&lt;p&gt;공통과목과, 6개의 심화과정 중 1개의 심화과정을 총 2달 정도의, 200시간 교육을 &lt;strong&gt;무료로 제공&lt;/strong&gt;해주는 프로그램입니다.&lt;/p&gt;

&lt;p&gt;지원 과정은 서류접수 -&amp;gt; 지필 평가 및 면접 -&amp;gt; 결과 순으로 이루어 지며 아래 사진을 통해 더 자세한 정보를 보실 수 있습니다.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://kkdbudglf.github.io\images\2023-03-08-K-Shield Apply Reviews\introduce.png&quot; alt=&quot;introduce&quot; /&gt;&lt;/p&gt;

&lt;p&gt;현재 케이쉴드주니어에서 운영하고 있는 심화과정은&lt;/p&gt;

&lt;ul&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;이렇게 &lt;strong&gt;6개의 심화과정을 운영&lt;/strong&gt;하고 있으며, 서류 접수 중에 하나를 선택하여 제출하게 됩니다.&lt;/p&gt;

&lt;h1 id=&quot;서류-접수&quot;&gt;서류 접수&lt;/h1&gt;

&lt;p&gt;서류접수는 구글 폼으로 누구나 접수가 가능하며 여러개의 체크 사항이 있습니다.&lt;/p&gt;

&lt;p&gt;지금 기억이 나는 것은 &lt;strong&gt;취득 자격증 적는 칸&lt;/strong&gt;과 &lt;strong&gt;자소서 500자 이상 1000자 이하&lt;/strong&gt; 입니다.&lt;/p&gt;

&lt;p&gt;면접에서 자기소개서 기반으로 질문이 나온다는 여러 후기글에서 보았는데&lt;/p&gt;

&lt;p&gt;저는 컴공이지만 보안에 대한 지식은 전무하고 활동도 없어서&lt;/p&gt;

&lt;p&gt;자기소개서엔 정보처리기사 실기 준비중인 내용과 &lt;strong&gt;교육에 대한 열정을 녹여서 썼습니다.&lt;/strong&gt;
(약 500자 ~ 550자)&lt;/p&gt;

&lt;h1 id=&quot;서류-합격&quot;&gt;서류 합격&lt;/h1&gt;

&lt;p&gt;서류 합격 발표는 문자와 지원 할 때 적었던 이메일로 결과를 알려줍니다.&lt;/p&gt;

&lt;p&gt;전공자분들도 지원을 많이 하는 걸로 알아서 많이 떨리고 긴장했는데&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://kkdbudglf.github.io\images\2023-03-08-K-Shield Apply Reviews\pass.png&quot; alt=&quot;pass&quot; /&gt;&lt;/p&gt;

&lt;p&gt;합격 소식에 엄청 기뻤습니다.&lt;/p&gt;

&lt;p&gt;합격에 있어서 제일 중요한 것은 자기소개서라고 생각했는데&lt;/p&gt;

&lt;p&gt;결국엔 취업 프로그램이 아닌 &lt;strong&gt;교육 프로그램이라는 것에 중점을 두고&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;어떤 것이 부족하여 배우고 싶은지&lt;/strong&gt;와 &lt;strong&gt;열정&lt;/strong&gt;을 잘 녹여서 썼다고 판단해주셨기에 합격 시켜 주셨다고 생각합니다.&lt;/p&gt;

&lt;h1 id=&quot;지필평가--면접&quot;&gt;지필평가 &amp;amp; 면접&lt;/h1&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;h3 id=&quot;지필평가-후기&quot;&gt;*지필평가 후기&lt;/h3&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;비전공자라면 정보보안기사 문제은행을 조금이라도 풀어서 느낌을 잡으시면 좋을 것 같습니다.&lt;/p&gt;

&lt;h3 id=&quot;면접-후기&quot;&gt;*면접 후기&lt;/h3&gt;

&lt;p&gt;면접은 4인 1조로 케이쉴드주니어 운영사무국에서 조를 정해줍니다.&lt;/p&gt;

&lt;p&gt;그리고 그 조의 면접 진행 시간을 표로 알려주니 자기 차례가 오기 전까지 면접 준비를 하시면 됩니다.&lt;/p&gt;

&lt;p&gt;면접은 조 : 면접관3명으로 진행됩니다.&lt;/p&gt;

&lt;p&gt;면접 시간은 조당 20분이 부여되며, 혼자서 면접 보는 것이 아닌 4명이 동시에 면접을 보는 만큼&lt;/p&gt;

&lt;p&gt;시간이 모자를 수도 있으니 자신의 답변 차례가 온다면 준비한 것을 다 말하는 것이 좋을 것 같습니다.&lt;/p&gt;

&lt;p&gt;질문과 답변 방식은 한 사람씩 돌아가며 말하고 첫 질문을 받은 사람은 다음 질문에 마지막에 대답하는 방식으로 이루어졌습니다.&lt;/p&gt;

&lt;p&gt;아래는 제가 받은 질문 중 기억나는 질문입니다.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;자기소개 및 지원동기 (필수)&lt;/li&gt;
  &lt;li&gt;관심 있는 보안 분야 및 진로 방향&lt;/li&gt;
  &lt;li&gt;나의 진로가 선택한 심화 과정과 어떤 상관이 있는지&lt;/li&gt;
  &lt;li&gt;최근 관심 있게 본 IT 뉴스 등..&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;기억나는 질문은 여기까지고 더 많은 질문이 있었습니다.&lt;/p&gt;

&lt;p&gt;다른 분들 후기에서는 기술 질문도 받으셨다고 해서 준비를 했는데 기술 질문은 따로 받지 않았습니다.&lt;/p&gt;

&lt;p&gt;하지만 다른 조는 어떻게 면접 질문이 이루어졌는지 모르니 준비를 해가시는게 좋을 것 같습니다.
(기본적인 보안 용어, 네트워크 기술 등)&lt;/p&gt;

&lt;h1 id=&quot;합격-발표&quot;&gt;합격 발표&lt;/h1&gt;

&lt;p&gt;합격 발표날 떨리는 마음으로 발표 시간을 기다렸습니다.&lt;/p&gt;

&lt;p&gt;문자보다 메일이 더 빠르게 알림이 와서 메일을 확인하였고
&lt;img src=&quot;https://kkdbudglf.github.io\images\2023-03-08-K-Shield Apply Reviews\final pass.png&quot; alt=&quot;final pass&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;저는 면접도 망쳤다고 생각해서 망한 줄 알았는데..&lt;/p&gt;

&lt;p&gt;정말 기뻤습니다. 열심히 하겠습니다.&lt;/p&gt;

&lt;h1 id=&quot;마무리&quot;&gt;마무리&lt;/h1&gt;

&lt;p&gt;다시 한번 강조하는 것은 &lt;strong&gt;취업을 위한 교육 프로그램&lt;/strong&gt;이지 취업 프로그램이 아닙니다.&lt;/p&gt;

&lt;p&gt;배우고자 하는 열정이 있다면 저처럼 경험이나 전공자가 아니어도 합격할 수 있습니다!&lt;/p&gt;

&lt;p&gt;이번 10기 지원은 끝났지만 다음에 있을 기수에 도전 해보시길 바랍니다.&lt;/p&gt;</content><author><name>KKDBUDGLF</name></author><category term="K-Shield Junior" /><category term="K-Shield Junior" /><summary type="html">케이쉴드 주니어 10기 지원 후기</summary></entry><entry><title type="html">[구현 알고리즘] - 구현 알고리즘이란?</title><link href="https://kkdbudglf.github.io/algorithm/Implement-Algorithm/" rel="alternate" type="text/html" title="[구현 알고리즘] - 구현 알고리즘이란?" /><published>2022-09-20T00:00:00+00:00</published><updated>2022-09-20T00:00:00+00:00</updated><id>https://kkdbudglf.github.io/algorithm/Implement%20Algorithm</id><content type="html" xml:base="https://kkdbudglf.github.io/algorithm/Implement-Algorithm/">&lt;h1 id=&quot;-구현-알고리즘-implementation-algorithm&quot;&gt;✈ 구현 알고리즘 (Implementation Algorithm)&lt;/h1&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;구현이란, &lt;strong&gt;머릿속에 있는 알고리즘을 &lt;u&gt;소스코드로 바꾸는 과정&lt;/u&gt;이다.&lt;/strong&gt;&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;풀이를 떠올리는 것은 쉽지만 소스코드로 옮기기 어려운 문제를 말한다.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;구현 유형의 예시
    &lt;ul&gt;
      &lt;li&gt;
        &lt;p&gt;알고리즘은 간단한데 코드가 지나칠 만큼 길어지는 문제&lt;/p&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;/li&gt;
  &lt;li&gt;일반적으로 알고리즘 문제에서의 2차원 공간은 &lt;strong&gt;행렬(Matrix)의 의미&lt;/strong&gt;로 사용된다.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;../../images/2022-09-20-Implement Algorithm/구현 알고리즘 테이블.JPG&quot; alt=&quot;구현 알고리즘 테이블&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../../images/2022-09-20-Implement Algorithm/구현 알고리즘 방향 벡터.JPG&quot; alt=&quot;구현 알고리즘 방향 벡터&quot; /&gt;&lt;/p&gt;</content><author><name>KKDBUDGLF</name></author><category term="Algorithm" /><category term="Algorithm" /><category term="Implementation" /><category term="Python" /><summary type="html">✈ 구현 알고리즘 (Implementation Algorithm)</summary></entry><entry><title type="html">[구현 알고리즘] - 상하좌우</title><link href="https://kkdbudglf.github.io/algorithm/UP,-DOWN,-LEFT,-RIGHT/" rel="alternate" type="text/html" title="[구현 알고리즘] - 상하좌우" /><published>2022-09-20T00:00:00+00:00</published><updated>2022-09-20T00:00:00+00:00</updated><id>https://kkdbudglf.github.io/algorithm/UP,%20DOWN,%20LEFT,%20RIGHT</id><content type="html" xml:base="https://kkdbudglf.github.io/algorithm/UP,-DOWN,-LEFT,-RIGHT/">&lt;h1 id=&quot;-구현-알고리즘-상하좌우&quot;&gt;✈ [구현 알고리즘] 상하좌우&lt;/h1&gt;

&lt;p&gt;&lt;a href=&quot;https://kkdbudglf.github.io/algorithm/Implement-Algorithm/&quot;&gt;★ 구현 알고리즘이란?&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;👀 문제 설명&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;여행가 A는 &lt;strong&gt;N X N&lt;/strong&gt; 크기의 정사각형 공간위에 서있다. 이 공간은 1 X 1 크기의 정사각형으로 나누어져 있다. 가장 왼쪽 위 좌표는 (1, 1)이며, 가장 오른쪽 아래 좌표는 (N, N)에 해당한다. 여행가 A는 &lt;strong&gt;상, 하, 좌, 우 방향으로 이동&lt;/strong&gt;할 수 있다. 시작 좌표는 항상 (1, 1)이다. 우리 앞에는 여행가 A가 이동할 계획이 적힌 계획서가 놓여있다.&lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;계획서에는 하나의 줄에 띄어쓰기를 기준으로 하여 L, R, U, D중 하나의 문자가 반복적으로 적혀있다. 각 문자의 의미는 다음과 같다.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;L: &lt;strong&gt;왼쪽&lt;/strong&gt;으로 한 칸 이동&lt;/li&gt;
  &lt;li&gt;R: &lt;strong&gt;오른쪽&lt;/strong&gt;으로 한 칸 이동&lt;/li&gt;
  &lt;li&gt;U: &lt;strong&gt;위&lt;/strong&gt;로 한 칸 이동&lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;D: &lt;strong&gt;아래&lt;/strong&gt;로 한 칸 이동&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;이때 여행가 A가 N X N 크기의 정사각형 공간을 벗어나는 움직임은 무시된다. 예를 들어 (1, 1)의 위치에서 L 혹은 U를 만나면 무시된다.&lt;/p&gt;

    &lt;p&gt;&lt;img src=&quot;../../images/2022-09-20-UP, DOWN, LEFT, RIGHT/상하좌우 맵.jpg&quot; alt=&quot;상하좌우 맵&quot; /&gt;&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;p&gt;👀 입력&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;첫째 줄에 공간의 크기를 나타내는 N이 주어집니다. (1 &amp;lt;= N &amp;lt;= 100)&lt;/li&gt;
  &lt;li&gt;둘째 줄에 여행가 A가 이동할 계획서 내용이 주어집니다.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;p&gt;👀 출력&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;첫째 줄에 여행가 A가 최종적으로 도착할 지점의 좌표 (X, Y)를 공백을 기준으로 구분하여 출력합니다.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;p&gt;👀 문제 해결 아이디어&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;이동할 계획서와 move_types = [‘L’, ‘R’, ‘U’, ‘D’] 를 비교한다.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;p&gt;👀 소스 코드&lt;/p&gt;

&lt;div class=&quot;language-python highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c1&quot;&gt;# n 입력 받기
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;input&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;())&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;y&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;plans&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;input&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;().&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;split&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;# L, R, U, D
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;dx&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;dy&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;move_types&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;'L'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;'R'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;'U'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;'D'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;# plans 하나씩 대입
&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;plan&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;plans&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;c1&quot;&gt;# 이동 후 좌표 구하기
&lt;/span&gt;    &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;range&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;len&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;move_types&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)):&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;plan&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;move_types&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]:&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;nx&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;x&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;dx&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;ny&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;y&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;dy&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
    &lt;span class=&quot;c1&quot;&gt;# 정사각형 공간을 벗어나는지 확인
&lt;/span&gt;    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;nx&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;or&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;ny&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;or&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;nx&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;n&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;or&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;ny&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;continue&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;y&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;nx&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;ny&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;</content><author><name>KKDBUDGLF</name></author><category term="Algorithm" /><category term="Algorithm" /><category term="Implementation" /><category term="Python" /><summary type="html">✈ [구현 알고리즘] 상하좌우</summary></entry><entry><title type="html">[백준 알고리즘] - 11047번문제 : 동전 0</title><link href="https://kkdbudglf.github.io/baekjoon%20online%20judge/Baekjoon-Online-Judge_11047/" rel="alternate" type="text/html" title="[백준 알고리즘] - 11047번문제 : 동전 0" /><published>2022-09-19T00:00:00+00:00</published><updated>2022-09-19T00:00:00+00:00</updated><id>https://kkdbudglf.github.io/baekjoon%20online%20judge/Baekjoon%20Online%20Judge_11047</id><content type="html" xml:base="https://kkdbudglf.github.io/baekjoon%20online%20judge/Baekjoon-Online-Judge_11047/">&lt;h1 id=&quot;-백준-알고리즘-문제-11047번--동전-0&quot;&gt;✈ [백준 알고리즘] 문제 11047번 : 동전 0&lt;/h1&gt;

&lt;p&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/11047&quot;&gt;★ 백준 알고리즘 11047번 : 동전 0&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;👀 문제 설명&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;준규가 가지고 있는 동전은 총 N종류이고, 각각의 동전을 매우 많이 가지고 있다.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;동전을 적절히 사용해서 그 가치의 합을 K로 만들려고 한다. 이때 필요한 동전 개수의 최솟값을 구하는 프로그램을 작성하시오.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;p&gt;👀 입력&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000)&lt;/li&gt;
  &lt;li&gt;둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수)&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;p&gt;👀 출력&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;첫째 줄에 K원을 만드는데 필요한 동전 개수의 최솟값을 출력한다.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;p&gt;👀 문제 해결 아이디어&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;개수의 최솟값을 구하려면 &lt;strong&gt;제일 큰 동전단위부터 K를 나눈다.&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;p&gt;👀 소스 코드&lt;/p&gt;

&lt;div class=&quot;language-python highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;k&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;map&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;input&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;().&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;split&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;())&lt;/span&gt;  &lt;span class=&quot;c1&quot;&gt;# 동전 개수, 만드려는 돈 입력 받기
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[]&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;count&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;range&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;# n입력 받은 만큼 동전 종류 입력받기
&lt;/span&gt;    &lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;append&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;input&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()))&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;sort&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;reverse&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;bp&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;  &lt;span class=&quot;c1&quot;&gt;# 제일 큰 값부터 몫을 구하기 위한 내림차순 정렬
&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;j&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;count&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;k&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;//&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;j&lt;/span&gt; 
    &lt;span class=&quot;n&quot;&gt;k&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;%=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;count&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;</content><author><name>KKDBUDGLF</name></author><category term="Baekjoon Online Judge" /><category term="Algorithm" /><category term="Greedy" /><category term="Python" /><category term="Bakejoon" /><category term="Online Judge" /><summary type="html">✈ [백준 알고리즘] 문제 11047번 : 동전 0</summary></entry><entry><title type="html">[백준 알고리즘] - 11399번문제 : ATM</title><link href="https://kkdbudglf.github.io/baekjoon%20online%20judge/Baekjoon-Online-Judge_11399/" rel="alternate" type="text/html" title="[백준 알고리즘] - 11399번문제 : ATM" /><published>2022-09-19T00:00:00+00:00</published><updated>2022-09-19T00:00:00+00:00</updated><id>https://kkdbudglf.github.io/baekjoon%20online%20judge/Baekjoon%20Online%20Judge_11399</id><content type="html" xml:base="https://kkdbudglf.github.io/baekjoon%20online%20judge/Baekjoon-Online-Judge_11399/">&lt;h1 id=&quot;-백준-알고리즘-문제-11399번--atm&quot;&gt;✈ [백준 알고리즘] 문제 11399번 : ATM&lt;/h1&gt;

&lt;p&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/11399&quot;&gt;★ 백준 알고리즘 11399번 : ATM&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;👀 문제 설명&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;인하은행에는 ATM이 1대밖에 없다. 지금 이 ATM앞에 N명의 사람들이 줄을 서있다. 사람은 1번부터 N번까지 번호가 매겨져 있으며, i번 사람이 돈을 인출하는데 걸리는 시간은 Pi분이다.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;사람들이 줄을 서는 순서에 따라서, 돈을 인출하는데 필요한 시간의 합이 달라지게 된다. 예를 들어, 총 5명이 있고, P1 = 3, P2 = 1, P3 = 4, P4 = 3, P5 = 2 인 경우를 생각해보자. [1, 2, 3, 4, 5] 순서로 줄을 선다면, 1번 사람은 3분만에 돈을 뽑을 수 있다. 2번 사람은 1번 사람이 돈을 뽑을 때 까지 기다려야 하기 때문에, 3+1 = 4분이 걸리게 된다. 3번 사람은 1번, 2번 사람이 돈을 뽑을 때까지 기다려야 하기 때문에, 총 3+1+4 = 8분이 필요하게 된다. 4번 사람은 3+1+4+3 = 11분, 5번 사람은 3+1+4+3+2 = 13분이 걸리게 된다. 이 경우에 각 사람이 돈을 인출하는데 필요한 시간의 합은 3+4+8+11+13 = 39분이 된다.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;줄을 [2, 5, 1, 4, 3] 순서로 줄을 서면, 2번 사람은 1분만에, 5번 사람은 1+2 = 3분, 1번 사람은 1+2+3 = 6분, 4번 사람은 1+2+3+3 = 9분, 3번 사람은 1+2+3+3+4 = 13분이 걸리게 된다. 각 사람이 돈을 인출하는데 필요한 시간의 합은 1+3+6+9+13 = 32분이다. 이 방법보다 더 필요한 시간의 합을 최소로 만들 수는 없다.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;줄을 서 있는 사람의 수 N과 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어졌을 때, 각 사람이 돈을 인출하는데 필요한 시간의 합의 최솟값을 구하는 프로그램을 작성하시오.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;p&gt;👀 입력&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000)&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;p&gt;👀 출력&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;첫째 줄에 각 사람이 돈을 인출하는데 필요한 시간의 합의 최솟값을 출력한다.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;p&gt;👀 문제 해결 아이디어&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;이 문제는 각 사람이 &lt;strong&gt;돈을 인출하는데 필요한 시간의 합의 최솟값&lt;/strong&gt;이다.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;인출 시간이 적은 순으로 정렬&lt;/strong&gt;하는 것이 합을 최소한으로 줄이는 방법이다.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;p&gt;👀 소스 코드&lt;/p&gt;

&lt;div class=&quot;language-python highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;input&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;())&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;# 사람 수 입력
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;p&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;list&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;map&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;input&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;().&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;split&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()))&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;# 각 사람이 돈을 인출하는데 걸리는 시간 리스트로 저장
&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;sort&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;# 오름차순 정렬
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;result&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;range&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;# i 사람 번 째
&lt;/span&gt;    &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;j&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;range&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;result&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;result&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;</content><author><name>KKDBUDGLF</name></author><category term="Baekjoon Online Judge" /><category term="Algorithm" /><category term="Greedy" /><category term="Python" /><category term="Bakejoon" /><category term="Online Judge" /><summary type="html">✈ [백준 알고리즘] 문제 11399번 : ATM</summary></entry><entry><title type="html">[백준 알고리즘] - 10610번문제 : 30</title><link href="https://kkdbudglf.github.io/baekjoon%20online%20judge/Baekjoon-Online-Judge_10610/" rel="alternate" type="text/html" title="[백준 알고리즘] - 10610번문제 : 30" /><published>2022-09-18T00:00:00+00:00</published><updated>2022-09-18T00:00:00+00:00</updated><id>https://kkdbudglf.github.io/baekjoon%20online%20judge/Baekjoon%20Online%20Judge_10610</id><content type="html" xml:base="https://kkdbudglf.github.io/baekjoon%20online%20judge/Baekjoon-Online-Judge_10610/">&lt;h1 id=&quot;-백준-알고리즘-문제-10610번--30&quot;&gt;✈ [백준 알고리즘] 문제 10610번 : 30&lt;/h1&gt;

&lt;p&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/10610&quot;&gt;★ 백준 알고리즘 10610번 : 30&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;👀 문제 설명&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;👩‍🦰 어느 날, 미르코는 우연히 길거리에서 양수 N을 보았다. 미르코는 30이란 수를 존경하기 때문에, 그는 길거리에서 찾은 수에 포함된 숫자들을 섞어 30의 배수가 되는 가장 큰 수를 만들고 싶어한다.&lt;/li&gt;
  &lt;li&gt;마르코를 도와 그가 만들고 싶어하는 수를 계산하는 프로그램을 작성하라.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;p&gt;👀 입력&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;N을 입력받는다. N는 최대 10의(5승) 개의 숫자로 구성되어 있으며, 0으로 시작하지 않는다.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;p&gt;👀 출력&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;미르코가 만들고 싶어하는 수가 존재한다면 그 수를 출력하라. 그 수가 존재하지 않는다면, -1을 출력하라.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;p&gt;👀 문제 해결 아이디어&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;이 문제는 &lt;strong&gt;‘배수 판정법’&lt;/strong&gt;을 다룬다. &lt;a href=&quot;https://ko.wikipedia.org/wiki/%EB%B0%B0%EC%88%98_%ED%8C%90%EC%A0%95%EB%B2%95&quot;&gt;★ 배수 판정법&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;3의 배수 판정법에 의하면, &lt;strong&gt;모든 자리 수의 합이 3의 배수&lt;/strong&gt;이다.
    &lt;ul&gt;
      &lt;li&gt;210 -&amp;gt; 2 + 1 + 0 = &lt;strong&gt;3&lt;/strong&gt; 👍&lt;/li&gt;
      &lt;li&gt;3360 -&amp;gt; 3 + 3 + 6 + 0 = &lt;strong&gt;12&lt;/strong&gt;👍&lt;/li&gt;
      &lt;li&gt;1234 -&amp;gt; 1 + 2 + 3 + 4 = &lt;strong&gt;10&lt;/strong&gt; 👎&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;또한, 이 문제는 &lt;strong&gt;30의 배수이기 때문에 일의 자리에 0이 있는지 확인&lt;/strong&gt;해야 한다.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;p&gt;👀 소스 코드&lt;/p&gt;

&lt;div class=&quot;language-python highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;input&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;())&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;# 정수 입력 받기
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;str_n&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;str&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;# 입력 받은 정수 문자형으로 변환하여 저장
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;save&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[]&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;# 리스트 생성
&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;bp&quot;&gt;False&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;# while 문 돌기 위한 변수
&lt;/span&gt;
   	
    &lt;span class=&quot;c1&quot;&gt;# - 입력 받은 정수 내림차순 정렬 - 
&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;while&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;not&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;end&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;str_n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;save&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;append&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;save&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;sort&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;reverse&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;bp&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

    &lt;span class=&quot;c1&quot;&gt;# - 일의 자리가 0인지 확인 -
&lt;/span&gt;    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;save&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;len&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;save&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;!=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;bp&quot;&gt;True&lt;/span&gt;

    &lt;span class=&quot;c1&quot;&gt;# - 입력된 정수들을 다 더한 후 3의 배수일 때 -
&lt;/span&gt;    &lt;span class=&quot;k&quot;&gt;elif&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;sum&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;save&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;%&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;j&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;save&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
            &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;end&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;bp&quot;&gt;True&lt;/span&gt;

    &lt;span class=&quot;c1&quot;&gt;# - 입력된 정수들을 다 더한 후 3의 배수가 아닐 때 -
&lt;/span&gt;    &lt;span class=&quot;k&quot;&gt;else&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;bp&quot;&gt;True&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;</content><author><name>KKDBUDGLF</name></author><category term="Baekjoon Online Judge" /><category term="Algorithm" /><category term="Greedy" /><category term="Python" /><category term="Bakejoon" /><category term="Online Judge" /><summary type="html">✈ [백준 알고리즘] 문제 10610번 : 30</summary></entry><entry><title type="html">[그리디 알고리즘] - 거스름돈</title><link href="https://kkdbudglf.github.io/algorithm/Change/" rel="alternate" type="text/html" title="[그리디 알고리즘] - 거스름돈" /><published>2022-09-17T00:00:00+00:00</published><updated>2022-09-17T00:00:00+00:00</updated><id>https://kkdbudglf.github.io/algorithm/Change</id><content type="html" xml:base="https://kkdbudglf.github.io/algorithm/Change/">&lt;h1 id=&quot;그리디-알고리즘-greedy-algorithm---거스름돈&quot;&gt;✈그리디 알고리즘 (Greedy Algorithm) - 거스름돈&lt;/h1&gt;

&lt;p&gt;&lt;a href=&quot;https://kkdbudglf.github.io/algorithm/Greedy-Algorithm/&quot;&gt;★ 그리디 알고리즘이란?&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;👀 문제 설명&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;🙎‍♂️ 당신은 음식점의 계산을 도와주는 점원입니다. &lt;strong&gt;카운터에는 거스름돈으로 사용할 500원, 100원, 50원, 10원짜리 동전이 무한히 존재&lt;/strong&gt;한다고 가정합니다. 손님에게 거슬러 주어야 할 돈이 N원일 때 거슬러 주어야 할 &lt;strong&gt;동전의 최소 개수를 구하세요.&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;단, 거슬러 줘야 할 돈 N은 항상 10의 배수입니다.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;p&gt;👀 문제 해결 아이디어&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;최소 개수를 구하기 위해선 &lt;strong&gt;가장 큰 화폐 단위부터 거슬러 주면&lt;/strong&gt; 된다.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;p&gt;👀 소스 코드&lt;/p&gt;

&lt;div class=&quot;language-python highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;input&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;())&lt;/span&gt;  &lt;span class=&quot;c1&quot;&gt;# 거슬러 주어야 할 돈
&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;change_list&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;500&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;50&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;  &lt;span class=&quot;c1&quot;&gt;# 거스름돈 목록
&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;count&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;  &lt;span class=&quot;c1&quot;&gt;# 동전의 최소 개수
&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;coin&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;change_list&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;count&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;n&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;//&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;coin&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;# 해당 화폐로 거슬러 줄 수 있는 동전의 개수 세기
&lt;/span&gt;    &lt;span class=&quot;n&quot;&gt;n&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;%=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;coin&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;count&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;</content><author><name>KKDBUDGLF</name></author><category term="Algorithm" /><category term="Algorithm" /><category term="Greedy" /><category term="Python" /><summary type="html">✈그리디 알고리즘 (Greedy Algorithm) - 거스름돈</summary></entry><entry><title type="html">[그리디 알고리즘] - 그리디 (탐욕) 알고리즘이란?</title><link href="https://kkdbudglf.github.io/algorithm/Greedy-Algorithm/" rel="alternate" type="text/html" title="[그리디 알고리즘] - 그리디 (탐욕) 알고리즘이란?" /><published>2022-09-17T00:00:00+00:00</published><updated>2022-09-17T00:00:00+00:00</updated><id>https://kkdbudglf.github.io/algorithm/Greedy%20Algorithm</id><content type="html" xml:base="https://kkdbudglf.github.io/algorithm/Greedy-Algorithm/">&lt;h1 id=&quot;-그리디-알고리즘-greedy-algorithm&quot;&gt;✈ 그리디 알고리즘 (Greedy Algorithm)&lt;/h1&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;그리디 알고리즘은 탐욕 알고리즘&lt;/strong&gt;이라고도 한다.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;현재 상황에서 지금 당장 좋은 것만 고르는 방법을 의미&lt;/strong&gt;한다.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;일반적인 그리디 알고리즘은 문제를 풀기 위한 &lt;strong&gt;최소한의 아이디어를 떠올릴 수 있는 능력을 요구&lt;/strong&gt;한다.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;정당성 분석&lt;/strong&gt;이 중요하다.
    &lt;ul&gt;
      &lt;li&gt;단순히 가장 좋아 보이는 것을 반복적으로 선택해도 최적의 해를 구할 수 있는지 검토한다.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;일반적인 상황에서 그리디 알고리즘은 최적의 해를 보장할 수 없을 때가 많다.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;하지만 코딩 테스트에서의 대부분의 그리디 문제는 &lt;strong&gt;탐욕법으로 얻은 해가 최적의 해가 되는 상황에서, 이를 추론&lt;/strong&gt;할 수 있어야 풀리도록 출제한다.&lt;/li&gt;
&lt;/ul&gt;</content><author><name>KKDBUDGLF</name></author><category term="Algorithm" /><category term="Algorithm" /><category term="Greedy" /><category term="Python" /><summary type="html">✈ 그리디 알고리즘 (Greedy Algorithm)</summary></entry></feed>