<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>나의 게임개발일지</title>
    <link>https://sangmin1007.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Thu, 20 Aug 2026 17:54:53 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>공정여행</managingEditor>
    <item>
      <title>240425-TIL</title>
      <link>https://sangmin1007.tistory.com/83</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;4월 25일&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;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;바탕화면 정리&lt;/b&gt;&lt;/h3&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;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;735&quot; data-origin-height=&quot;466&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Qlg3B/btsGUROuEAz/XNzPKkryUpb0wHTH0SLIC0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Qlg3B/btsGUROuEAz/XNzPKkryUpb0wHTH0SLIC0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Qlg3B/btsGUROuEAz/XNzPKkryUpb0wHTH0SLIC0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQlg3B%2FbtsGUROuEAz%2FXNzPKkryUpb0wHTH0SLIC0%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;735&quot; height=&quot;466&quot; data-origin-width=&quot;735&quot; data-origin-height=&quot;466&quot;/&gt;&lt;/span&gt;&lt;/figure&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;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;727&quot; data-origin-height=&quot;579&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/6caCn/btsGX3tzOwH/IbKHeR8BqLeeGBJAkTGoLK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/6caCn/btsGX3tzOwH/IbKHeR8BqLeeGBJAkTGoLK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/6caCn/btsGX3tzOwH/IbKHeR8BqLeeGBJAkTGoLK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6caCn%2FbtsGX3tzOwH%2FIbKHeR8BqLeeGBJAkTGoLK%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;727&quot; height=&quot;579&quot; data-origin-width=&quot;727&quot; data-origin-height=&quot;579&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;바로 이런식으로&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;잘 보면 wallpaper에 폴더가 들어있는 위치는 #으로 표시해둔게 보인다. 우리는 저 #의 위치를 잘 보고 드래그할 범위를 찾아주면된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;561&quot; data-origin-height=&quot;219&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/0Q1dI/btsGXAd6n5B/TuniCJHcgcca9x8GuvnzjK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/0Q1dI/btsGXAd6n5B/TuniCJHcgcca9x8GuvnzjK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/0Q1dI/btsGXAd6n5B/TuniCJHcgcca9x8GuvnzjK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F0Q1dI%2FbtsGXAd6n5B%2FTuniCJHcgcca9x8GuvnzjK%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;561&quot; height=&quot;219&quot; data-origin-width=&quot;561&quot; data-origin-height=&quot;219&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;솔루션의 초기 상태이다. 일단 편하게 문제를 풀기위해 선행작업을 해주자&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;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;656&quot; data-origin-height=&quot;173&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dYvpkl/btsGX29g63j/u4h7EQ6FAzdKu67gczIUu0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dYvpkl/btsGX29g63j/u4h7EQ6FAzdKu67gczIUu0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dYvpkl/btsGX29g63j/u4h7EQ6FAzdKu67gczIUu0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdYvpkl%2FbtsGX29g63j%2Fu4h7EQ6FAzdKu67gczIUu0%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;656&quot; height=&quot;173&quot; data-origin-width=&quot;656&quot; data-origin-height=&quot;173&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;answer에 바로 정수의 최대값을 0,1번 인덱스의 위치에 넣어주고 0,0은 2번인덱스과 3번인덱스에 넣어주자&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;answer에 들어올 값은 최소 좌표 [min,min] 최대 좌표 [max,max]가 들어올꺼기때문에 이렇게 만들어주면&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;Math.Min과 Math.Max를 통해 쉽게 값을 얻을수있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;552&quot; data-origin-height=&quot;234&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ztLn4/btsGWVC2xw2/rbxHvRVHDAfKlW6m375BJK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ztLn4/btsGWVC2xw2/rbxHvRVHDAfKlW6m375BJK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ztLn4/btsGWVC2xw2/rbxHvRVHDAfKlW6m375BJK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FztLn4%2FbtsGWVC2xw2%2FrbxHvRVHDAfKlW6m375BJK%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;552&quot; height=&quot;234&quot; data-origin-width=&quot;552&quot; data-origin-height=&quot;234&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;그 다음은 이중반복문을 통해 wallpaper에 들어있는 '#'을 찾는다&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;540&quot; data-origin-height=&quot;285&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CSIvD/btsGV9Iza5o/01yKlnPtEfaU0tUsVgMJOk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CSIvD/btsGV9Iza5o/01yKlnPtEfaU0tUsVgMJOk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CSIvD/btsGV9Iza5o/01yKlnPtEfaU0tUsVgMJOk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCSIvD%2FbtsGV9Iza5o%2F01yKlnPtEfaU0tUsVgMJOk%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;540&quot; height=&quot;285&quot; data-origin-width=&quot;540&quot; data-origin-height=&quot;285&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사실 answer[0]과 answer[1]이 바뀌는 일은 없다 딱 첫위치를 찍고 드래그를한다고하면 중요한건&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;answer[2]와 answer[3]인데 만약폴더가 하나밖에 없으면 당연히 answer[0]과 answer[1]에 들어간것보다 +1씩 증가&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;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;359&quot; data-origin-height=&quot;146&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bcsKzw/btsGVVDBtbs/1V92bkdrjE7my4k8buXkg0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bcsKzw/btsGVVDBtbs/1V92bkdrjE7my4k8buXkg0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bcsKzw/btsGVVDBtbs/1V92bkdrjE7my4k8buXkg0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbcsKzw%2FbtsGVVDBtbs%2F1V92bkdrjE7my4k8buXkg0%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;359&quot; height=&quot;146&quot; data-origin-width=&quot;359&quot; data-origin-height=&quot;146&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시간까지 잘 나온거같다.&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;/div&gt;
&lt;/div&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;4월 25일 TIL은 여기서 마치도록 하겠다.&lt;/p&gt;</description>
      <category>내일배움캠프</category>
      <author>공정여행</author>
      <guid isPermaLink="true">https://sangmin1007.tistory.com/83</guid>
      <comments>https://sangmin1007.tistory.com/83#entry83comment</comments>
      <pubDate>Thu, 25 Apr 2024 21:23:40 +0900</pubDate>
    </item>
    <item>
      <title>240424-TIL</title>
      <link>https://sangmin1007.tistory.com/82</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;4월 24일&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;오늘은 mbti에 관련된 알고리즘 문제 하나를 들고왔다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;성격 유형 검사하기&lt;/b&gt;&lt;/h3&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;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;724&quot; data-origin-height=&quot;404&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/NdNjX/btsGVgG1xgv/sanRLlrth2CqKbtAyUsWe1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/NdNjX/btsGVgG1xgv/sanRLlrth2CqKbtAyUsWe1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/NdNjX/btsGVgG1xgv/sanRLlrth2CqKbtAyUsWe1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNdNjX%2FbtsGVgG1xgv%2FsanRLlrth2CqKbtAyUsWe1%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;724&quot; height=&quot;404&quot; data-origin-width=&quot;724&quot; data-origin-height=&quot;404&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;문제는 이렇다 사실 라이언형이나 튜브형이라고 말은 바꿨지만 어디서 많이 들어본게&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;딱 MBTI 검사와 비슷한&amp;nbsp;느낌인거 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;729&quot; data-origin-height=&quot;762&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bZZZwL/btsGS5NyxMX/Sz53hkiLVrYDRQ4FNGcEaK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bZZZwL/btsGS5NyxMX/Sz53hkiLVrYDRQ4FNGcEaK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bZZZwL/btsGS5NyxMX/Sz53hkiLVrYDRQ4FNGcEaK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbZZZwL%2FbtsGS5NyxMX%2FSz53hkiLVrYDRQ4FNGcEaK%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;729&quot; height=&quot;762&quot; data-origin-width=&quot;729&quot; data-origin-height=&quot;762&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;문제가 꽤나 복잡하고 길어서 다 읽고 이해하기까지가 시간이 오래걸렸다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;616&quot; data-origin-height=&quot;207&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nWIto/btsGS57UKq4/1DiKO3HNjiyg0xYSLzw0b1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nWIto/btsGS57UKq4/1DiKO3HNjiyg0xYSLzw0b1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nWIto/btsGS57UKq4/1DiKO3HNjiyg0xYSLzw0b1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnWIto%2FbtsGS57UKq4%2F1DiKO3HNjiyg0xYSLzw0b1%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;616&quot; height=&quot;207&quot; data-origin-width=&quot;616&quot; data-origin-height=&quot;207&quot;/&gt;&lt;/span&gt;&lt;/figure&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;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;764&quot; data-origin-height=&quot;188&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bQlsa0/btsGS4nAwv2/ka4akoZOCTvx7Sc0tQkdOK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bQlsa0/btsGS4nAwv2/ka4akoZOCTvx7Sc0tQkdOK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bQlsa0/btsGS4nAwv2/ka4akoZOCTvx7Sc0tQkdOK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbQlsa0%2FbtsGS4nAwv2%2Fka4akoZOCTvx7Sc0tQkdOK%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;764&quot; height=&quot;188&quot; data-origin-width=&quot;764&quot; data-origin-height=&quot;188&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;가장 먼저 한일은 두개의 딕셔너리를 만들어둔것이다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;첫 딕셔너리에는 성격유형의 문자와 내가 고른 답변으로 증가시켜줄 정수형을 키,값으로 받아 만들어 두었고&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;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;538&quot; data-origin-height=&quot;100&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bc0aHN/btsGTilv7lt/MTX244yoBUhvNQFTHAoQHk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bc0aHN/btsGTilv7lt/MTX244yoBUhvNQFTHAoQHk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bc0aHN/btsGTilv7lt/MTX244yoBUhvNQFTHAoQHk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbc0aHN%2FbtsGTilv7lt%2FMTX244yoBUhvNQFTHAoQHk%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;538&quot; height=&quot;100&quot; data-origin-width=&quot;538&quot; data-origin-height=&quot;100&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 다음으로 해준일은 score딕셔너리에 survey의[i]번쨰 인덱스의 첫번째 문자를 키로 넣어주어 밸류를 가져온다음&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;addScore에 있는 choices[i]번째 키의 밸류만큼을 더해주었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;764&quot; data-origin-height=&quot;188&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bQlsa0/btsGS4nAwv2/ka4akoZOCTvx7Sc0tQkdOK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bQlsa0/btsGS4nAwv2/ka4akoZOCTvx7Sc0tQkdOK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bQlsa0/btsGS4nAwv2/ka4akoZOCTvx7Sc0tQkdOK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbQlsa0%2FbtsGS4nAwv2%2Fka4akoZOCTvx7Sc0tQkdOK%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;764&quot; height=&quot;188&quot; data-origin-width=&quot;764&quot; data-origin-height=&quot;188&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;다시 처음으로 가서 봐보자면 addScore의 벨류는 3,2,1,0,-1,-2,-3 이 들어가있는데 애초에 for문으로 돌때&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;survey[i]의 첫 문자만의 값을 바꿔주어 계산하기 위하여 이렇게 만들어 두었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;396&quot; data-origin-height=&quot;281&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qIgIa/btsGVz0D7Xo/SirkNCKj8ykASIkqfbDrb0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qIgIa/btsGVz0D7Xo/SirkNCKj8ykASIkqfbDrb0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qIgIa/btsGVz0D7Xo/SirkNCKj8ykASIkqfbDrb0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqIgIa%2FbtsGVz0D7Xo%2FSirkNCKj8ykASIkqfbDrb0%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;396&quot; height=&quot;281&quot; data-origin-width=&quot;396&quot; data-origin-height=&quot;281&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 다음은 살짝 노가다인데 score의 각 키의 벨류를 비교해서 해당하는 조건의 해당하는 문자를 answer에 넣어주고있다. 사실 가장 힘들었던 순간이었다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;414&quot; data-origin-height=&quot;151&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cCULmg/btsGSSnlxHS/AJrs8f6VQ1hkCt7R1ardf1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cCULmg/btsGSSnlxHS/AJrs8f6VQ1hkCt7R1ardf1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cCULmg/btsGSSnlxHS/AJrs8f6VQ1hkCt7R1ardf1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcCULmg%2FbtsGSSnlxHS%2FAJrs8f6VQ1hkCt7R1ardf1%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;414&quot; height=&quot;151&quot; data-origin-width=&quot;414&quot; data-origin-height=&quot;151&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;짜란&lt;/p&gt;
&lt;/div&gt;
&lt;/div&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;
&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;
&lt;p data-ke-size=&quot;size16&quot;&gt;4월 24일 TIL은 여기서 마치도록 하겠다.&lt;/p&gt;</description>
      <category>내일배움캠프</category>
      <author>공정여행</author>
      <guid isPermaLink="true">https://sangmin1007.tistory.com/82</guid>
      <comments>https://sangmin1007.tistory.com/82#entry82comment</comments>
      <pubDate>Wed, 24 Apr 2024 21:17:59 +0900</pubDate>
    </item>
    <item>
      <title>240423-TIL</title>
      <link>https://sangmin1007.tistory.com/81</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;4월 23일&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;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;햄버거 만들기&lt;/b&gt;&lt;/h3&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;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;721&quot; data-origin-height=&quot;382&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/I5WiV/btsGOG751Dk/k2FY1EBaqbKtYuOk3td98k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/I5WiV/btsGOG751Dk/k2FY1EBaqbKtYuOk3td98k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/I5WiV/btsGOG751Dk/k2FY1EBaqbKtYuOk3td98k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FI5WiV%2FbtsGOG751Dk%2Fk2FY1EBaqbKtYuOk3td98k%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;721&quot; height=&quot;382&quot; data-origin-width=&quot;721&quot; data-origin-height=&quot;382&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;문제는 이렇다 처음에는 이해가 잘 안되서 빵야채고기빵만 리스트에 들어있으면 햄버거 만들수있는지 알고&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;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;522&quot; data-origin-height=&quot;202&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cAl6gJ/btsGOKo6DHs/GkZ7Jlw6dz2bOYUAvJr5t0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cAl6gJ/btsGOKo6DHs/GkZ7Jlw6dz2bOYUAvJr5t0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cAl6gJ/btsGOKo6DHs/GkZ7Jlw6dz2bOYUAvJr5t0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcAl6gJ%2FbtsGOKo6DHs%2FGkZ7Jlw6dz2bOYUAvJr5t0%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;522&quot; height=&quot;202&quot; data-origin-width=&quot;522&quot; data-origin-height=&quot;202&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;솔루션의 초기 상태이다 ingredient에 햄버거 재료가 순서대로 들어있다.&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;처음으로 해줄것은 바로 List를 하나 만들어주는 것이다. 배열은 배열안의 요소를 삭제하기 굉장히 번거롭기 때문에&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;문제를 풀기 쉽게 list로 ingreient에 있는 요소들을 담아줄생각이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;523&quot; data-origin-height=&quot;286&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bqdS97/btsGSiRXHdC/8skv7YSqPIv3Q9v7BFbwbk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bqdS97/btsGSiRXHdC/8skv7YSqPIv3Q9v7BFbwbk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bqdS97/btsGSiRXHdC/8skv7YSqPIv3Q9v7BFbwbk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbqdS97%2FbtsGSiRXHdC%2F8skv7YSqPIv3Q9v7BFbwbk%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;523&quot; height=&quot;286&quot; data-origin-width=&quot;523&quot; data-origin-height=&quot;286&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;짜란 두번째 할 일은 만들어둔 ingredList에 ingredient에 있는 요소를 하나씩 옮겨줄것인데 이번에는 그냥 반복문이 아니라 foreach를 사용할 생각이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;455&quot; data-origin-height=&quot;111&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/KEtSA/btsGN1khtnC/a2fOZDNw9BnTiZjYvT6jZ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/KEtSA/btsGN1khtnC/a2fOZDNw9BnTiZjYvT6jZ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/KEtSA/btsGN1khtnC/a2fOZDNw9BnTiZjYvT6jZ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKEtSA%2FbtsGN1khtnC%2Fa2fOZDNw9BnTiZjYvT6jZ1%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;455&quot; height=&quot;111&quot; data-origin-width=&quot;455&quot; data-origin-height=&quot;111&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;배열을 순차적으로 돌며 해당순번의 요소를 item으로 가져올수가있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;435&quot; data-origin-height=&quot;101&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/btppwk/btsGQ6kk8uq/CZsOkplPDh0yLjmLTRXYlK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/btppwk/btsGQ6kk8uq/CZsOkplPDh0yLjmLTRXYlK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/btppwk/btsGQ6kk8uq/CZsOkplPDh0yLjmLTRXYlK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbtppwk%2FbtsGQ6kk8uq%2FCZsOkplPDh0yLjmLTRXYlK%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;435&quot; height=&quot;101&quot; data-origin-width=&quot;435&quot; data-origin-height=&quot;101&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;이런식으로 item을 List에 추가해준다&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;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;533&quot; data-origin-height=&quot;220&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zoSxD/btsGQjYPPV1/stOkAotSuKB9W5Bpbw3gs1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zoSxD/btsGQjYPPV1/stOkAotSuKB9W5Bpbw3gs1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zoSxD/btsGQjYPPV1/stOkAotSuKB9W5Bpbw3gs1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzoSxD%2FbtsGQjYPPV1%2FstOkAotSuKB9W5Bpbw3gs1%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;533&quot; height=&quot;220&quot; data-origin-width=&quot;533&quot; data-origin-height=&quot;220&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;foreach문을 돌며 매 반복시마다 조건을 체크할것이다 List에 Count가 4이상이 되었을때&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;햄버거를 만들땐 적어도 빵이든 야채든 고기든 4개 이상의 재료가 필요하기 때문에 이렇게 조건을 만들어준다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;801&quot; data-origin-height=&quot;127&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/A3Uzn/btsGOdkLLVR/KR062HNCH1JO9L8EuJr9k1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/A3Uzn/btsGOdkLLVR/KR062HNCH1JO9L8EuJr9k1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/A3Uzn/btsGOdkLLVR/KR062HNCH1JO9L8EuJr9k1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FA3Uzn%2FbtsGOdkLLVR%2FKR062HNCH1JO9L8EuJr9k1%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;801&quot; height=&quot;127&quot; data-origin-width=&quot;801&quot; data-origin-height=&quot;127&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 조건문 안의 조건이다 list에 재료가 4개이상이 되었을때마다 검사를 해줄것이다. 4가지 조건을 모두 만족해야하기에 or이 아닌 and로 조건을 주었다 순서대로 1 = 빵 2 = 야채 3 = 고기 1 = 빵 순서대로&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;foreach를 돌며 list에 재료가 하나씩 쌓여갈탠데 count의 -4 -3 -2 -1 순서로 재료를 비교하면 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;817&quot; data-origin-height=&quot;155&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/T9RVT/btsGQmBgy3d/gFDeHOvU9huz4Lknp7kuk1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/T9RVT/btsGQmBgy3d/gFDeHOvU9huz4Lknp7kuk1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/T9RVT/btsGQmBgy3d/gFDeHOvU9huz4Lknp7kuk1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FT9RVT%2FbtsGQmBgy3d%2FgFDeHOvU9huz4Lknp7kuk1%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;817&quot; height=&quot;155&quot; data-origin-width=&quot;817&quot; data-origin-height=&quot;155&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해당 조건을 만족한다면 햄버거를 만들수있다는 것이니깐 answer을 1 증가시켜주고&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;리스트 안의 해당 범위를 지워주도록하자 RemoveRange를 사용하면 해당 범위를 손쉽게 제거해줄수있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;473&quot; data-origin-height=&quot;227&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bHWakS/btsGNP5vRXw/Fr3gOrYAM1uLKDqoBp00O1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bHWakS/btsGNP5vRXw/Fr3gOrYAM1uLKDqoBp00O1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bHWakS/btsGNP5vRXw/Fr3gOrYAM1uLKDqoBp00O1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbHWakS%2FbtsGNP5vRXw%2FFr3gOrYAM1uLKDqoBp00O1%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;473&quot; height=&quot;227&quot; data-origin-width=&quot;473&quot; data-origin-height=&quot;227&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;끝&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘 문제를 풀면서 RemoveRange라는걸 학습했다. 리스트에서 내가 지정한 범위의 요소를 제거해주는 기능인데&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;4월 23일 TIL은 여기서 마치도록 하겠다.&lt;/p&gt;</description>
      <category>내일배움캠프</category>
      <author>공정여행</author>
      <guid isPermaLink="true">https://sangmin1007.tistory.com/81</guid>
      <comments>https://sangmin1007.tistory.com/81#entry81comment</comments>
      <pubDate>Tue, 23 Apr 2024 21:35:39 +0900</pubDate>
    </item>
    <item>
      <title>240422-TIL</title>
      <link>https://sangmin1007.tistory.com/80</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;4월 22일&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;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;둘만의 암호&lt;/b&gt;&lt;/h3&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;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;728&quot; data-origin-height=&quot;395&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Nxgiu/btsGOcleoWk/rKOrzF9osHulCuZhf5SLuK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Nxgiu/btsGOcleoWk/rKOrzF9osHulCuZhf5SLuK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Nxgiu/btsGOcleoWk/rKOrzF9osHulCuZhf5SLuK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNxgiu%2FbtsGOcleoWk%2FrKOrzF9osHulCuZhf5SLuK%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;728&quot; height=&quot;395&quot; data-origin-width=&quot;728&quot; data-origin-height=&quot;395&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;문제 설명은 이렇다&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;뭔가 굉장히 복잡하지만 간단하게 설명하자면 s라는 문자열이 들어오고 s의 문자열들의 각 문자를 index만큼&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;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;730&quot; data-origin-height=&quot;92&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/1Gfao/btsGQjKK7CY/EnpWmsKunb7dLCNAhdmOO0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/1Gfao/btsGQjKK7CY/EnpWmsKunb7dLCNAhdmOO0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/1Gfao/btsGQjKK7CY/EnpWmsKunb7dLCNAhdmOO0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F1Gfao%2FbtsGQjKK7CY%2FEnpWmsKunb7dLCNAhdmOO0%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;730&quot; height=&quot;92&quot; data-origin-width=&quot;730&quot; data-origin-height=&quot;92&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;skip에 포함되어있다면 세지 않는다고 한다.&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;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;749&quot; data-origin-height=&quot;1026&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/J1Ju3/btsGNtOEBEt/4NHmIJe8M45CW3s2DybE5k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/J1Ju3/btsGNtOEBEt/4NHmIJe8M45CW3s2DybE5k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/J1Ju3/btsGNtOEBEt/4NHmIJe8M45CW3s2DybE5k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJ1Ju3%2FbtsGNtOEBEt%2F4NHmIJe8M45CW3s2DybE5k%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;749&quot; height=&quot;1026&quot; data-origin-width=&quot;749&quot; data-origin-height=&quot;1026&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 아스키코드표를 활용해서 문제를 풀어보도록 하자&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;692&quot; data-origin-height=&quot;159&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/waXEQ/btsGNCSgGOm/fZCL2ltrRs0uSumdgEY5n0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/waXEQ/btsGNCSgGOm/fZCL2ltrRs0uSumdgEY5n0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/waXEQ/btsGNCSgGOm/fZCL2ltrRs0uSumdgEY5n0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwaXEQ%2FbtsGNCSgGOm%2FfZCL2ltrRs0uSumdgEY5n0%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;692&quot; height=&quot;159&quot; data-origin-width=&quot;692&quot; data-origin-height=&quot;159&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;솔루션의 초기 상태 여기서 미리 문제를 풀기위한 변수 몇개를 만들어주자&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;244&quot; data-origin-height=&quot;78&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vtEra/btsGNQpgs6i/ckow1NHz0owMDSXKmrD3bk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vtEra/btsGNQpgs6i/ckow1NHz0owMDSXKmrD3bk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vtEra/btsGNQpgs6i/ckow1NHz0owMDSXKmrD3bk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvtEra%2FbtsGNQpgs6i%2Fckow1NHz0owMDSXKmrD3bk%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;244&quot; height=&quot;78&quot; data-origin-width=&quot;244&quot; data-origin-height=&quot;78&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;문자를 하나씩 받아서 index만큼 뒤로 밀어줄꺼기 때문에 temp와 ch 를 미리 만들어두었다&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;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;471&quot; data-origin-height=&quot;122&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/JReEU/btsGOwDRO5K/Jq38Nd00MLaj3uxOyILTT1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/JReEU/btsGOwDRO5K/Jq38Nd00MLaj3uxOyILTT1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/JReEU/btsGOwDRO5K/Jq38Nd00MLaj3uxOyILTT1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJReEU%2FbtsGOwDRO5K%2FJq38Nd00MLaj3uxOyILTT1%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;471&quot; height=&quot;122&quot; data-origin-width=&quot;471&quot; data-origin-height=&quot;122&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;첫 반복문에선 temp에 s[i]를 대입해줄꺼다&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;이렇게 int 자료형에 문자를 넣어주게되면 자동으로 형변환이 일어나게되는데 이때 아까 위에 적어준 아스키코드표의 10진수의 값으로 변환되어 들어가게된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;415&quot; data-origin-height=&quot;206&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/NIf5M/btsGQRmYofE/MZMykSfmuoloi2kHVoUvz0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/NIf5M/btsGQRmYofE/MZMykSfmuoloi2kHVoUvz0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/NIf5M/btsGQRmYofE/MZMykSfmuoloi2kHVoUvz0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNIf5M%2FbtsGQRmYofE%2FMZMykSfmuoloi2kHVoUvz0%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;415&quot; height=&quot;206&quot; data-origin-width=&quot;415&quot; data-origin-height=&quot;206&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;안쪽 반복문에선 index만큼 temp를 1씩 증가시켜줄껀데 이때 필요한 몇가지 조건들이 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;359&quot; data-origin-height=&quot;184&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/NPGIA/btsGQNZbefO/RVw0KuL16iuVRCS2t87Pq1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/NPGIA/btsGQNZbefO/RVw0KuL16iuVRCS2t87Pq1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/NPGIA/btsGQNZbefO/RVw0KuL16iuVRCS2t87Pq1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNPGIA%2FbtsGQNZbefO%2FRVw0KuL16iuVRCS2t87Pq1%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;359&quot; height=&quot;184&quot; data-origin-width=&quot;359&quot; data-origin-height=&quot;184&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;일단 우린 a ~ z 까지 소문자 알파뱃만 표기할것이기 떄문에 temp가 122(z)를 넘어가게되면 97(a)로 바꿔주어야한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;371&quot; data-origin-height=&quot;125&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/uPIB0/btsGNAUto7o/fCUP0ewimbYy1PKrEBPHUK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/uPIB0/btsGNAUto7o/fCUP0ewimbYy1PKrEBPHUK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/uPIB0/btsGNAUto7o/fCUP0ewimbYy1PKrEBPHUK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FuPIB0%2FbtsGNAUto7o%2FfCUP0ewimbYy1PKrEBPHUK%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;371&quot; height=&quot;125&quot; data-origin-width=&quot;371&quot; data-origin-height=&quot;125&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;그렇게 temp를 Convert.ToChar를 이용해 다시 문자로 바꿔주어 ch에 대입해준다.&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;그리고 skip의 Contains를 이용하여 ch가 skip에 들어있다면 j를 1감소시켜 카운트에서 제외시켜준다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;387&quot; data-origin-height=&quot;70&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pcBpz/btsGPaHnfM7/ucfAvca8YD1URgAcuwfhH0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pcBpz/btsGPaHnfM7/ucfAvca8YD1URgAcuwfhH0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pcBpz/btsGPaHnfM7/ucfAvca8YD1URgAcuwfhH0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpcBpz%2FbtsGPaHnfM7%2FucfAvca8YD1URgAcuwfhH0%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;387&quot; height=&quot;70&quot; data-origin-width=&quot;387&quot; data-origin-height=&quot;70&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;안쪽 반복문을 빠져나와 바깥쪽의 반복문 마지막에서 ch에 마무리된 temp를 다시금 넣어주고 answer에 집어넣어주면 문제는 끝이난다 정답이 맞는지 확인해보자&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;441&quot; data-origin-height=&quot;187&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bI7dD7/btsGQ4Gqfg7/WMZCqwlTf2KPbJSNUuKAV1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bI7dD7/btsGQ4Gqfg7/WMZCqwlTf2KPbJSNUuKAV1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bI7dD7/btsGQ4Gqfg7/WMZCqwlTf2KPbJSNUuKAV1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbI7dD7%2FbtsGQ4Gqfg7%2FWMZCqwlTf2KPbJSNUuKAV1%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;441&quot; height=&quot;187&quot; data-origin-width=&quot;441&quot; data-origin-height=&quot;187&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;정답!!&lt;/p&gt;
&lt;/div&gt;
&lt;/div&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;4월 22일 TIL은 여기서 마치도록하겠다.&lt;/p&gt;</description>
      <category>내일배움캠프</category>
      <author>공정여행</author>
      <guid isPermaLink="true">https://sangmin1007.tistory.com/80</guid>
      <comments>https://sangmin1007.tistory.com/80#entry80comment</comments>
      <pubDate>Mon, 22 Apr 2024 20:58:25 +0900</pubDate>
    </item>
    <item>
      <title>240419-TIL</title>
      <link>https://sangmin1007.tistory.com/79</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;4월 19일&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;오늘은 버그를 픽스하는 과정을 TIL에 담아보려한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;버그픽스&lt;/b&gt;&lt;/h3&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;기존에 만든 게임에서의 맵은 4개의 타일맵을 배치해놓고 플레이어가 가는 방향으로 맵을 계속 넘겨주어&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;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;824&quot; data-origin-height=&quot;466&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b79PUr/btsGNMFClPp/WNxjJPxehTixJAzPHit0V0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b79PUr/btsGNMFClPp/WNxjJPxehTixJAzPHit0V0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b79PUr/btsGNMFClPp/WNxjJPxehTixJAzPHit0V0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb79PUr%2FbtsGNMFClPp%2FWNxjJPxehTixJAzPHit0V0%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;824&quot; height=&quot;466&quot; data-origin-width=&quot;824&quot; data-origin-height=&quot;466&quot;/&gt;&lt;/span&gt;&lt;/figure&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;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;813&quot; data-origin-height=&quot;623&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/U866D/btsGMz8CHBR/SRwA0z0g6IfBZIWbKDjhIk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/U866D/btsGMz8CHBR/SRwA0z0g6IfBZIWbKDjhIk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/U866D/btsGMz8CHBR/SRwA0z0g6IfBZIWbKDjhIk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FU866D%2FbtsGMz8CHBR%2FSRwA0z0g6IfBZIWbKDjhIk%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;813&quot; height=&quot;623&quot; data-origin-width=&quot;813&quot; data-origin-height=&quot;623&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;맵을 재배치해주는 로직을 살펴보자&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;일단 타일맵 자기 자신의 위치를 myPos로 player 오브젝트의 포지션을 playerPos로 받아&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;둘을 빼줘서 X와 Y의 절대값을 받고있다.&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;그리고 dirX , dirY는 플레이어가 어느 방향으로 나아간건지 알아야한다 그래야 위든 아래든 왼쪽이던 오른쪽이든&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;그렇게 필요한 변수를 만들어준뒤 diffX diffY 둘중에 어느 값이 더 큰지 확인후 X가 크다면 현재 플레이어가 나아가고있는 X 방향으로 Y가 크다면 Y방향으로 맵을 재배치 해주고있는데&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;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;824&quot; data-origin-height=&quot;466&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b79PUr/btsGNMFClPp/WNxjJPxehTixJAzPHit0V0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b79PUr/btsGNMFClPp/WNxjJPxehTixJAzPHit0V0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b79PUr/btsGNMFClPp/WNxjJPxehTixJAzPHit0V0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb79PUr%2FbtsGNMFClPp%2FWNxjJPxehTixJAzPHit0V0%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;824&quot; height=&quot;466&quot; data-origin-width=&quot;824&quot; data-origin-height=&quot;466&quot;/&gt;&lt;/span&gt;&lt;/figure&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;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;649&quot; data-origin-height=&quot;335&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d5axAT/btsGM0YVtBI/bwqqAy3FAmlCSTxVV1kSx1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d5axAT/btsGM0YVtBI/bwqqAy3FAmlCSTxVV1kSx1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d5axAT/btsGM0YVtBI/bwqqAy3FAmlCSTxVV1kSx1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd5axAT%2FbtsGM0YVtBI%2FbwqqAy3FAmlCSTxVV1kSx1%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;649&quot; height=&quot;335&quot; data-origin-width=&quot;649&quot; data-origin-height=&quot;335&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;혹시나 하는 마음에 else문을 적어봐도 으으음 오히려 더 예상치도 못한 곳에서 맵이 산산조각이 나버리는 문제가 발생해버렸다.&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;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;325&quot; data-origin-height=&quot;307&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lqckK/btsGLA71XbA/JsrR9KqKntHR9FbQ3EhCiK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lqckK/btsGLA71XbA/JsrR9KqKntHR9FbQ3EhCiK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lqckK/btsGLA71XbA/JsrR9KqKntHR9FbQ3EhCiK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlqckK%2FbtsGLA71XbA%2FJsrR9KqKntHR9FbQ3EhCiK%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;325&quot; height=&quot;307&quot; data-origin-width=&quot;325&quot; data-origin-height=&quot;307&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;기존의 게임맵은 4개의 타일맵으로 왔다갔다 했다면 이번에는 9개의 타일맵으로 플레이어가 가는 방향쪽으로 타일맵을 움직여줄 생각이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;573&quot; data-origin-height=&quot;419&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/3j7tT/btsGNE12FaR/b0peeZyIx2TtVxa0x1sQe1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/3j7tT/btsGNE12FaR/b0peeZyIx2TtVxa0x1sQe1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/3j7tT/btsGNE12FaR/b0peeZyIx2TtVxa0x1sQe1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F3j7tT%2FbtsGNE12FaR%2Fb0peeZyIx2TtVxa0x1sQe1%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;573&quot; height=&quot;419&quot; data-origin-width=&quot;573&quot; data-origin-height=&quot;419&quot;/&gt;&lt;/span&gt;&lt;/figure&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;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;468&quot; data-origin-height=&quot;73&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bWsD8B/btsGLs3kC5Z/iBl7dpp2fk6BwWqc6Wku8K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bWsD8B/btsGLs3kC5Z/iBl7dpp2fk6BwWqc6Wku8K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bWsD8B/btsGLs3kC5Z/iBl7dpp2fk6BwWqc6Wku8K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbWsD8B%2FbtsGLs3kC5Z%2FiBl7dpp2fk6BwWqc6Wku8K%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;468&quot; height=&quot;73&quot; data-origin-width=&quot;468&quot; data-origin-height=&quot;73&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일단 9개인 타일맵을 2차원 배열로 만들어주자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;584&quot; data-origin-height=&quot;368&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/24Y80/btsGLgaSV6f/SqGVd0Y8lcfpklOPFIn6Kk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/24Y80/btsGLgaSV6f/SqGVd0Y8lcfpklOPFIn6Kk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/24Y80/btsGLgaSV6f/SqGVd0Y8lcfpklOPFIn6Kk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F24Y80%2FbtsGLgaSV6f%2FSqGVd0Y8lcfpklOPFIn6Kk%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;584&quot; height=&quot;368&quot; data-origin-width=&quot;584&quot; data-origin-height=&quot;368&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 타일들은 각자 자신이 2차원 배열의 0,0에 있는 타일인지 0,1에 있는 타일인지를 curIndex_I와 J에 담아준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;888&quot; data-origin-height=&quot;345&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bhYcBn/btsGNHxIBH4/4P18izaf6S2NT2zDtkaQT0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bhYcBn/btsGNHxIBH4/4P18izaf6S2NT2zDtkaQT0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bhYcBn/btsGNHxIBH4/4P18izaf6S2NT2zDtkaQT0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbhYcBn%2FbtsGNHxIBH4%2F4P18izaf6S2NT2zDtkaQT0%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;888&quot; height=&quot;345&quot; data-origin-width=&quot;888&quot; data-origin-height=&quot;345&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;tileIndex의 타일오브젝트의 이름을 받아서 i에는 앞글자 j에는 뒷글자를 담아두면 쉽게 자기 자신이 어느 타일인지 알 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;654&quot; data-origin-height=&quot;204&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bNuF86/btsGLFuDUrO/gkb2JQ4YDTLDfxsLCjtuKk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bNuF86/btsGLFuDUrO/gkb2JQ4YDTLDfxsLCjtuKk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bNuF86/btsGLFuDUrO/gkb2JQ4YDTLDfxsLCjtuKk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbNuF86%2FbtsGLFuDUrO%2Fgkb2JQ4YDTLDfxsLCjtuKk%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;654&quot; height=&quot;204&quot; data-origin-width=&quot;654&quot; data-origin-height=&quot;204&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 플레이어가 타일맵 바깥으로 나갔을때 플레이어가 타일맵의 어느 각도로 나갔는지에 대한 각도를 구해주도록하자&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;player의 좌표와 타일자신의 좌표를 빼면 방향이 나오고 그 방향을 가지고 angle을 구해주자&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;그리고 y축과 방향의 외적의 z축으로 부호를 결정하고 최종적으로 angle에 곱해주어 각도를 구해주자&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;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;411&quot; data-origin-height=&quot;40&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bLvjow/btsGLBeOd3S/LWgxDfuy4zio7esFW0ING1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bLvjow/btsGLBeOd3S/LWgxDfuy4zio7esFW0ING1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bLvjow/btsGLBeOd3S/LWgxDfuy4zio7esFW0ING1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbLvjow%2FbtsGLBeOd3S%2FLWgxDfuy4zio7esFW0ING1%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;411&quot; height=&quot;40&quot; data-origin-width=&quot;411&quot; data-origin-height=&quot;40&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;442&quot; data-origin-height=&quot;32&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dtRMU4/btsGLt86spT/UYt2uD1LKv67gfwJ2yvWP0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dtRMU4/btsGLt86spT/UYt2uD1LKv67gfwJ2yvWP0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dtRMU4/btsGLt86spT/UYt2uD1LKv67gfwJ2yvWP0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdtRMU4%2FbtsGLt86spT%2FUYt2uD1LKv67gfwJ2yvWP0%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;442&quot; height=&quot;32&quot; data-origin-width=&quot;442&quot; data-origin-height=&quot;32&quot;/&gt;&lt;/span&gt;&lt;/figure&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;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;831&quot; data-origin-height=&quot;248&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bgVvIl/btsGNsU7dO3/tnjGXd871OENKNN6QniFF0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bgVvIl/btsGNsU7dO3/tnjGXd871OENKNN6QniFF0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bgVvIl/btsGNsU7dO3/tnjGXd871OENKNN6QniFF0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbgVvIl%2FbtsGNsU7dO3%2FtnjGXd871OENKNN6QniFF0%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;831&quot; height=&quot;248&quot; data-origin-width=&quot;831&quot; data-origin-height=&quot;248&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;안쪽에는 이렇게 재배치 로직을 만들어주자 처음 조건으로는 배열의 index범위를 벗어나지 않게 하기위한 예외처리를 해주고 안쪽 반복문에는 혹시라도 이미 옮긴 타일을 한번 더 옮기지 않도록 거리차이가 각 조건에 맞는 거리일때만 재배치 해도록 만들어주자&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;542&quot; data-origin-height=&quot;456&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/buXVOX/btsGLwdEkJb/uiwZpTGZ1bLLIWIzTNXX01/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/buXVOX/btsGLwdEkJb/uiwZpTGZ1bLLIWIzTNXX01/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/buXVOX/btsGLwdEkJb/uiwZpTGZ1bLLIWIzTNXX01/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbuXVOX%2FbtsGLwdEkJb%2FuiwZpTGZ1bLLIWIzTNXX01%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;542&quot; height=&quot;456&quot; data-origin-width=&quot;542&quot; data-origin-height=&quot;456&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;해당 로직대로라면 1,1위치한 타일에서 오른쪽인 1,2의 타일로 가려고한다면?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;463&quot; data-origin-height=&quot;383&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/MJg7r/btsGNdjsMrT/U2FwCKBlGXKAmzQKZGslwk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/MJg7r/btsGNdjsMrT/U2FwCKBlGXKAmzQKZGslwk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/MJg7r/btsGNdjsMrT/U2FwCKBlGXKAmzQKZGslwk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMJg7r%2FbtsGNdjsMrT%2FU2FwCKBlGXKAmzQKZGslwk%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;463&quot; height=&quot;383&quot; data-origin-width=&quot;463&quot; data-origin-height=&quot;383&quot;/&gt;&lt;/span&gt;&lt;/figure&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;위쪽으로 간다면 2,0 2,1 2,2 부분을 위쪽으로 보내줄것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;385&quot; data-origin-height=&quot;367&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bEj6Qe/btsGNCXB5eK/WEeo5EYXZDvGZBYLbK0ie1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bEj6Qe/btsGNCXB5eK/WEeo5EYXZDvGZBYLbK0ie1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bEj6Qe/btsGNCXB5eK/WEeo5EYXZDvGZBYLbK0ie1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbEj6Qe%2FbtsGNCXB5eK%2FWEeo5EYXZDvGZBYLbK0ie1%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;385&quot; height=&quot;367&quot; data-origin-width=&quot;385&quot; data-origin-height=&quot;367&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;바로 대각선으로 달린다고 하더라도 결국 트리거 충돌을 벗어날때 1,1 뿐만아니라 0,1 1,2 부분에서도 해당 로직을 수행해주기 때문에 문제 없이 맵이 잘 재배치 된다.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이틀에 걸친 고민과 수많은 시행착오를 겪어 결국 고쳐냈다&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;4월 19일 TIL은 여기서 마치도록 하겠다&lt;/p&gt;</description>
      <category>내일배움캠프</category>
      <author>공정여행</author>
      <guid isPermaLink="true">https://sangmin1007.tistory.com/79</guid>
      <comments>https://sangmin1007.tistory.com/79#entry79comment</comments>
      <pubDate>Fri, 19 Apr 2024 19:23:37 +0900</pubDate>
    </item>
    <item>
      <title>240417-TIL</title>
      <link>https://sangmin1007.tistory.com/78</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;4월 17일&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;오늘은 유니티의 Composite Collider에 대해서 알아보도록 하자&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;Composite Collider&lt;/b&gt;&lt;/h3&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;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;573&quot; data-origin-height=&quot;294&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/KUeb8/btsGGnnFXv6/5fQsWVnhkHmvjti1NDJMX1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/KUeb8/btsGGnnFXv6/5fQsWVnhkHmvjti1NDJMX1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/KUeb8/btsGGnnFXv6/5fQsWVnhkHmvjti1NDJMX1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKUeb8%2FbtsGGnnFXv6%2F5fQsWVnhkHmvjti1NDJMX1%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;573&quot; height=&quot;294&quot; data-origin-width=&quot;573&quot; data-origin-height=&quot;294&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기존의 타일맵 콜라이더를 사용하면 이렇게 각 타일마다 Collider가 생성되게된다&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;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;225&quot; data-origin-height=&quot;28&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zWwyi/btsGIhs9Wdm/jETIOKKp22TEumZueOzDUk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zWwyi/btsGIhs9Wdm/jETIOKKp22TEumZueOzDUk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zWwyi/btsGIhs9Wdm/jETIOKKp22TEumZueOzDUk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzWwyi%2FbtsGIhs9Wdm%2FjETIOKKp22TEumZueOzDUk%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;225&quot; height=&quot;28&quot; data-origin-width=&quot;225&quot; data-origin-height=&quot;28&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Used By Composite이라는 게 있는데&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;432&quot; data-origin-height=&quot;308&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/buoCz3/btsGGl4m7jt/hsDcVnwhsagknWKga82YP1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/buoCz3/btsGGl4m7jt/hsDcVnwhsagknWKga82YP1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/buoCz3/btsGGl4m7jt/hsDcVnwhsagknWKga82YP1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbuoCz3%2FbtsGGl4m7jt%2FhsDcVnwhsagknWKga82YP1%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;432&quot; height=&quot;308&quot; data-origin-width=&quot;432&quot; data-origin-height=&quot;308&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;해당 Composite Collider를 같은 오브젝트에 붙여주게되면 이제 TileMap Collider가 아닌 Composite Collider를 사용하게 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;225&quot; data-origin-height=&quot;28&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zWwyi/btsGIhs9Wdm/jETIOKKp22TEumZueOzDUk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zWwyi/btsGIhs9Wdm/jETIOKKp22TEumZueOzDUk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zWwyi/btsGIhs9Wdm/jETIOKKp22TEumZueOzDUk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzWwyi%2FbtsGIhs9Wdm%2FjETIOKKp22TEumZueOzDUk%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;225&quot; height=&quot;28&quot; data-origin-width=&quot;225&quot; data-origin-height=&quot;28&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;이거는 일종의 허락? 같은 느낌이라고 해야하나? Composite을 사용할꺼에요! 이런 느낌이다&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;Composite은 기존 Tilemap Collider와 다르게&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;413&quot; data-origin-height=&quot;26&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bskAFc/btsGGNT7NTM/RfT662WRWyB3okLPBJWlak/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bskAFc/btsGGNT7NTM/RfT662WRWyB3okLPBJWlak/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bskAFc/btsGGNT7NTM/RfT662WRWyB3okLPBJWlak/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbskAFc%2FbtsGGNT7NTM%2FRfT662WRWyB3okLPBJWlak%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;413&quot; height=&quot;26&quot; data-origin-width=&quot;413&quot; data-origin-height=&quot;26&quot;/&gt;&lt;/span&gt;&lt;/figure&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;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;541&quot; data-origin-height=&quot;287&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/biNxpT/btsGJpKLSCB/kzdCUdAX0CTjC2bj6TQ6uk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/biNxpT/btsGJpKLSCB/kzdCUdAX0CTjC2bj6TQ6uk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/biNxpT/btsGJpKLSCB/kzdCUdAX0CTjC2bj6TQ6uk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbiNxpT%2FbtsGJpKLSCB%2FkzdCUdAX0CTjC2bj6TQ6uk%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;541&quot; height=&quot;287&quot; data-origin-width=&quot;541&quot; data-origin-height=&quot;287&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;이런식으로 해당 콜라이더의 Outline만 타입을 설정해줄꺼냐?&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;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;567&quot; data-origin-height=&quot;291&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ZQtKy/btsGHdZaCIi/oiLh7fWvlknjYkueMh9j5k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ZQtKy/btsGHdZaCIi/oiLh7fWvlknjYkueMh9j5k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ZQtKy/btsGHdZaCIi/oiLh7fWvlknjYkueMh9j5k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZQtKy%2FbtsGHdZaCIi%2FoiLh7fWvlknjYkueMh9j5k%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;567&quot; height=&quot;291&quot; data-origin-width=&quot;567&quot; data-origin-height=&quot;291&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;폴리곤으로 설정해서 저 영역 전체를 잡아줄꺼냐의 차이인데&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;outLine으로 두게되면&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;354&quot; data-origin-height=&quot;182&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/seu4X/btsGGRoHwx7/yF7FGUsBiiMEbH6PKtJjDk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/seu4X/btsGGRoHwx7/yF7FGUsBiiMEbH6PKtJjDk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/seu4X/btsGGRoHwx7/yF7FGUsBiiMEbH6PKtJjDk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fseu4X%2FbtsGGRoHwx7%2FyF7FGUsBiiMEbH6PKtJjDk%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;354&quot; height=&quot;182&quot; data-origin-width=&quot;354&quot; data-origin-height=&quot;182&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런식으로 플레이어가 바깥 선에 충돌하고있을때 트리거충돌중~~~~~~~~~ 이라는 이벤트가 발생하고&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;289&quot; data-origin-height=&quot;164&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/UNToo/btsGJQH6v9Q/cSkZMmweTVZH3QpKyNzPGK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/UNToo/btsGJQH6v9Q/cSkZMmweTVZH3QpKyNzPGK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/UNToo/btsGJQH6v9Q/cSkZMmweTVZH3QpKyNzPGK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FUNToo%2FbtsGJQH6v9Q%2FcSkZMmweTVZH3QpKyNzPGK%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;289&quot; height=&quot;164&quot; data-origin-width=&quot;289&quot; data-origin-height=&quot;164&quot;/&gt;&lt;/span&gt;&lt;/figure&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;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;585&quot; data-origin-height=&quot;267&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/PJvrj/btsGHdENQYq/znLpQBDriL9QqkoMkL6RJ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/PJvrj/btsGHdENQYq/znLpQBDriL9QqkoMkL6RJ0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/PJvrj/btsGHdENQYq/znLpQBDriL9QqkoMkL6RJ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPJvrj%2FbtsGHdENQYq%2FznLpQBDriL9QqkoMkL6RJ0%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;585&quot; height=&quot;267&quot; data-origin-width=&quot;585&quot; data-origin-height=&quot;267&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;영역 전체를 잡아주기 때문에 바깥 선에 있던 안쪽에 들어가있던 플레이어가 저 영역에 닿는다면?&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;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘은 Composit Collider의 Geometry Type의 차이점에 대해서 알아보았다.&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;충돌영역이 넓지 않아서 상하좌우 어느쪽으로 움직여도 outline에 닿는다면 outline이어도 상관없지만&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;충돌영역이 넓은 경우 outline과 닿지 않는 부분은 충돌이 일어나지 않기때문에 두개의 타입을 잘 선택해서 사용해야겠다&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;4월 17일 TIL은 여기서 마치도록 하겠다.&lt;/p&gt;</description>
      <category>내일배움캠프</category>
      <author>공정여행</author>
      <guid isPermaLink="true">https://sangmin1007.tistory.com/78</guid>
      <comments>https://sangmin1007.tistory.com/78#entry78comment</comments>
      <pubDate>Wed, 17 Apr 2024 21:40:37 +0900</pubDate>
    </item>
    <item>
      <title>240416-TIL</title>
      <link>https://sangmin1007.tistory.com/77</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;4월 16일&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;&amp;nbsp; MonoBehaviour에 대해서 알아보도록 하자&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt; MonoBehaviour &lt;/b&gt;&lt;/h3&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;MonoBehaviour는 유니티에서 스크립트를 만들면 기본적으로 상속되어있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1323&quot; data-origin-height=&quot;74&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nOHsH/btsGGa1UsiU/A0NJi78qKMFhijemK0Use0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nOHsH/btsGGa1UsiU/A0NJi78qKMFhijemK0Use0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nOHsH/btsGGa1UsiU/A0NJi78qKMFhijemK0Use0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnOHsH%2FbtsGGa1UsiU%2FA0NJi78qKMFhijemK0Use0%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;1323&quot; height=&quot;74&quot; data-origin-width=&quot;1323&quot; data-origin-height=&quot;74&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;유니티에서도 따로 '중요 클래스' 라고 분류해놓고 자세한 설명까지 나와있다.&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;span style=&quot;background-color: #fafafa; color: #333333; text-align: start;&quot;&gt;MonoBehaviour에는&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1b2229; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1b2229; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;유니티의 라이프 사이클에 관련된 여러 이벤트들과 함께 변수 함수 정적함수 연산자가 포함되어있다&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;266&quot; data-origin-height=&quot;440&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ySyeY/btsGG5Z4spH/bhMJkb8Rf0sZhatlMukyw1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ySyeY/btsGG5Z4spH/bhMJkb8Rf0sZhatlMukyw1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ySyeY/btsGG5Z4spH/bhMJkb8Rf0sZhatlMukyw1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FySyeY%2FbtsGG5Z4spH%2FbhMJkb8Rf0sZhatlMukyw1%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;266&quot; height=&quot;440&quot; data-origin-width=&quot;266&quot; data-origin-height=&quot;440&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;태그 검색과 GetComponent도 마찬가지로 이 &lt;span style=&quot;background-color: #fafafa; color: #333333; text-align: start;&quot;&gt;MonoBehaviour를 상속받고있기 때문에 사용이 가능하다&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1382&quot; data-origin-height=&quot;84&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lJZ9V/btsGGR8SCg9/5Le3hPyQKc5ClEXS3sdvlk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lJZ9V/btsGGR8SCg9/5Le3hPyQKc5ClEXS3sdvlk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lJZ9V/btsGGR8SCg9/5Le3hPyQKc5ClEXS3sdvlk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlJZ9V%2FbtsGGR8SCg9%2F5Le3hPyQKc5ClEXS3sdvlk%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;1382&quot; height=&quot;84&quot; data-origin-width=&quot;1382&quot; data-origin-height=&quot;84&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코루틴도 당연히 MonoBehaviour를 상속받고 있기 때문에 사용이 가능하다.&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;span style=&quot;background-color: #fafafa; color: #333333; text-align: start;&quot;&gt;MonoBehaviour는 유니티에서 게임 오브젝트와 스크립트의 연결을 제공함과 동시에&lt;/span&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;span style=&quot;background-color: #fafafa; color: #333333; text-align: start;&quot;&gt;초기화 단계 혹은 프레임 단위의 업데이트에서 이벤트를 통한 제어를 가능하게 해주는 클래스라고 할 수 있겠다.&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘은 그동안 지나쳐왔던 &lt;span style=&quot;background-color: #fafafa; color: #333333; text-align: start;&quot;&gt;MonoBehaviour 클래스에 대해 알아보았다.&lt;/span&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;span style=&quot;background-color: #fafafa; color: #333333; text-align: start;&quot;&gt;사실 &lt;span style=&quot;background-color: #fafafa; color: #333333; text-align: start;&quot;&gt;MonoBehaviour 클래스가 없다면 지금까지 작성했던 모든 스크립트들이 그냥 깡통과 다름이 없다.&lt;/span&gt;&lt;/span&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;span style=&quot;background-color: #fafafa; color: #333333; text-align: start;&quot;&gt;MonoBehaviour 클래스의 여러 이벤트들 이벤트들의 라이프 사이클&lt;/span&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;span style=&quot;background-color: #fafafa; color: #333333; text-align: start;&quot;&gt;그리고 여러 메서드 들과 코루틴에 대해서 좀 더 공부하고 활용해야겠다&lt;/span&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;span style=&quot;background-color: #fafafa; color: #333333; text-align: start;&quot;&gt;4월 16일 TIL은 여기서 마치도록 하겠다.&lt;/span&gt;&lt;/p&gt;</description>
      <category>내일배움캠프</category>
      <author>공정여행</author>
      <guid isPermaLink="true">https://sangmin1007.tistory.com/77</guid>
      <comments>https://sangmin1007.tistory.com/77#entry77comment</comments>
      <pubDate>Tue, 16 Apr 2024 21:05:56 +0900</pubDate>
    </item>
    <item>
      <title>240415-TIL</title>
      <link>https://sangmin1007.tistory.com/76</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;4월 15일&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;오늘은 서로 다른 성능을 가진 기기에서 Update의 사용 시 주의할 점에 대해서 생각해보자&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;Update의 주의점&lt;/b&gt;&lt;/h3&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;우선 유니티의 Update는 언제 실행될까?&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;유니티의 Update는 매 프레임 마다 실행된다고 한다.&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;어떤 컴퓨터는 성능이 좋아서 프레임이 잘 나오게되면 Update가 실행되는 빈도가 높을것이고&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;성능이 좋지 못한 컴퓨터는 Update를 성능이 좋은 컴퓨터보다 덜 실행하게 될것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;게임을 만드는 입장에서는 이 부분에 대한 대처를 해야한다. 물론 아무리 대처를 해도 성능 좋은 컴퓨터를&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사용하는게 더 좋겠지만 적어도 성능 자체에서 차이는 없도록 만들어주어야한다.&lt;/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;1.Time.deltaTime 사용&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2.targetFramerate 사용&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;일단 Time.deltaTime이 뭔지 알아보자&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;우리의 컴퓨터는 매우매우 좋아서 1초에 144프레임을 뽑아낼수 있다고 가정해보자&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;그렇다면 Update는 1초에 144번 실행된다. Update에서 플레이어의 이동로직을 구현하게되면 플레이어는&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;이동속도 * 144 만큼의 속도로 이동하게 될것이다. 이때 필요한것이 Time.DeltaTime인데&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;deltaTime은 다음 프레임까지 걸린 시간이다 즉&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;1초에 144프레임이 나오는 컴퓨터에서의 deltaTime은 1/144&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;플레이어 이동로직에 이동속도 * deltaTime을 해주게되면 플레이어는 어느 컴퓨터에서든 일정한 속도로 움직이게 될것이다.&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;이제 두번째 방법 targetFrameRate를 알아보자&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;650&quot; data-origin-height=&quot;241&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cpRgVy/btsGErbmZwF/0uA5SfGQeQzzFoo92H4I70/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cpRgVy/btsGErbmZwF/0uA5SfGQeQzzFoo92H4I70/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cpRgVy/btsGErbmZwF/0uA5SfGQeQzzFoo92H4I70/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcpRgVy%2FbtsGErbmZwF%2F0uA5SfGQeQzzFoo92H4I70%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;650&quot; height=&quot;241&quot; data-origin-width=&quot;650&quot; data-origin-height=&quot;241&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;targetFrameRate는 프레임 속도를 지정해주고 그 이상 나오지 않게하는 방법이다.&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;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;517&quot; data-origin-height=&quot;282&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bGL5UO/btsGB4Peuv8/KcV6YM1ifzaZSoqu8PZQ4K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bGL5UO/btsGB4Peuv8/KcV6YM1ifzaZSoqu8PZQ4K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bGL5UO/btsGB4Peuv8/KcV6YM1ifzaZSoqu8PZQ4K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbGL5UO%2FbtsGB4Peuv8%2FKcV6YM1ifzaZSoqu8PZQ4K%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;517&quot; height=&quot;282&quot; data-origin-width=&quot;517&quot; data-origin-height=&quot;282&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;유니티에서 제공하는 예제 코드이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;743&quot; data-origin-height=&quot;40&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/sNis7/btsGEVXDhNb/bk2mCqkLDZyVf4RCZVXdM1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/sNis7/btsGEVXDhNb/bk2mCqkLDZyVf4RCZVXdM1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/sNis7/btsGEVXDhNb/bk2mCqkLDZyVf4RCZVXdM1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FsNis7%2FbtsGEVXDhNb%2Fbk2mCqkLDZyVf4RCZVXdM1%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;743&quot; height=&quot;40&quot; data-origin-width=&quot;743&quot; data-origin-height=&quot;40&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-1은 기본값이라는걸 잘 알아두자&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;두번째 코드를 보면 Application.targetFrameRate = 60; 60프레임으로 제한해서 아무리 성능 좋은 컴퓨터라도&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;60프레임까지 낼수있게 제한한다.&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;물론 두번째 방법인 targetFrameRate는 성능 좋은 컴퓨터와 안좋은 컴퓨터의 갭차이를 줄여주기는 하나&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;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘은 Update를 사용할때 주의할 점에 대해서 알아보았다.&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;4월 15일 TIL은 여기서 마치도록 하겠다.&lt;/p&gt;</description>
      <category>내일배움캠프</category>
      <author>공정여행</author>
      <guid isPermaLink="true">https://sangmin1007.tistory.com/76</guid>
      <comments>https://sangmin1007.tistory.com/76#entry76comment</comments>
      <pubDate>Mon, 15 Apr 2024 21:10:58 +0900</pubDate>
    </item>
    <item>
      <title>240412-TIL</title>
      <link>https://sangmin1007.tistory.com/75</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;4월 12일&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;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt; 정렬 알고리즘이란?&lt;/b&gt;&lt;/h3&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;질문 : 정렬 알고리즘이란 무엇이며, 사용 이유에 대해 설명해주세요.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;335&quot; data-origin-height=&quot;563&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kG26P/btsGB23j5iN/ZbFcv83AEUBZho09kF0G8k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kG26P/btsGB23j5iN/ZbFcv83AEUBZho09kF0G8k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kG26P/btsGB23j5iN/ZbFcv83AEUBZho09kF0G8k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkG26P%2FbtsGB23j5iN%2FZbFcv83AEUBZho09kF0G8k%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;335&quot; height=&quot;563&quot; data-origin-width=&quot;335&quot; data-origin-height=&quot;563&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일단 정렬 알고리즘이 어떤게 있는지부터 알아봐야한다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&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;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 버블 정렬&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;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;480&quot; data-origin-height=&quot;150&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pF8Gy/btsGA1qEDVa/TK5k3IgpugyTJUqdprxUG0/img.gif&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pF8Gy/btsGA1qEDVa/TK5k3IgpugyTJUqdprxUG0/img.gif&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pF8Gy/btsGA1qEDVa/TK5k3IgpugyTJUqdprxUG0/img.gif&quot; srcset=&quot;https://blog.kakaocdn.net/dn/pF8Gy/btsGA1qEDVa/TK5k3IgpugyTJUqdprxUG0/img.gif&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;480&quot; height=&quot;150&quot; data-origin-width=&quot;480&quot; data-origin-height=&quot;150&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시간 복잡도는 O(N2) 이지만 연산 수가 많아 정렬 알고리즘에서는 가장 느리다고 한다.&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;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;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;480&quot; data-origin-height=&quot;150&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bCJUhD/btsGB2vt4mx/SkEwqKt5XRuewBvzSr2341/img.gif&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bCJUhD/btsGB2vt4mx/SkEwqKt5XRuewBvzSr2341/img.gif&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bCJUhD/btsGB2vt4mx/SkEwqKt5XRuewBvzSr2341/img.gif&quot; srcset=&quot;https://blog.kakaocdn.net/dn/bCJUhD/btsGB2vt4mx/SkEwqKt5XRuewBvzSr2341/img.gif&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;480&quot; height=&quot;150&quot; data-origin-width=&quot;480&quot; data-origin-height=&quot;150&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;선택 정렬의 시간 복잡도는 O(N2) 이다 시간복잡도로 보면 선택 정렬도 좋은 알고리즘은 아니다.&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;3. 삽입 정렬&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;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;480&quot; data-origin-height=&quot;150&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bUOQlN/btsGBQvinkj/OnUOkKpkOnMQ3rA3jdF7Vk/img.gif&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bUOQlN/btsGBQvinkj/OnUOkKpkOnMQ3rA3jdF7Vk/img.gif&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bUOQlN/btsGBQvinkj/OnUOkKpkOnMQ3rA3jdF7Vk/img.gif&quot; srcset=&quot;https://blog.kakaocdn.net/dn/bUOQlN/btsGBQvinkj/OnUOkKpkOnMQ3rA3jdF7Vk/img.gif&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;480&quot; height=&quot;150&quot; data-origin-width=&quot;480&quot; data-origin-height=&quot;150&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;삽입 정렬도 마찬가지 O(N2)로 좋은 알고리즘은 아니다.&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;4. 합병 정렬&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;분할,정렬,결합순으로 진행되고 데이터 배열을 2개 이상의 부분 배열로 분할 -&amp;gt; 부분 배열에서 정렬 -&amp;gt; 재결합 -&amp;gt; 다시 정렬 순으로 이루어진다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;480&quot; data-origin-height=&quot;329&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/IqKWZ/btsGCnlQhIJ/dUKy5IfVwhg4Tc7P1WuA1K/img.gif&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/IqKWZ/btsGCnlQhIJ/dUKy5IfVwhg4Tc7P1WuA1K/img.gif&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/IqKWZ/btsGCnlQhIJ/dUKy5IfVwhg4Tc7P1WuA1K/img.gif&quot; srcset=&quot;https://blog.kakaocdn.net/dn/IqKWZ/btsGCnlQhIJ/dUKy5IfVwhg4Tc7P1WuA1K/img.gif&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;480&quot; height=&quot;329&quot; data-origin-width=&quot;480&quot; data-origin-height=&quot;329&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;합병 정렬의 시간 복잡도는 O(nlogn) 데이터를 정확히 반으로 나누고 정렬하기 때문에 일정한 시간 복잡도를 유지하는 장점이 있지만 다른 알고리즘과 비교했을때 O(n)의 메모리가 추가로 필요하다고 한다.&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;5. 힙 정렬&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;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;280&quot; data-origin-height=&quot;214&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cYZkCj/btsGBsOYdp7/TtrN86acJMHjBIYCngbMC0/img.gif&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cYZkCj/btsGBsOYdp7/TtrN86acJMHjBIYCngbMC0/img.gif&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cYZkCj/btsGBsOYdp7/TtrN86acJMHjBIYCngbMC0/img.gif&quot; srcset=&quot;https://blog.kakaocdn.net/dn/cYZkCj/btsGBsOYdp7/TtrN86acJMHjBIYCngbMC0/img.gif&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;280&quot; height=&quot;214&quot; data-origin-width=&quot;280&quot; data-origin-height=&quot;214&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;힙 정렬도 시간복잡도는 합병 정렬과 같은 O(nlogn)이다 특징은 완전 이진트리를 사용한다고 한다.&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;6. 퀵 정렬&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;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;480&quot; data-origin-height=&quot;159&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/r7vLx/btsGBOK2upn/HhhfWtZWNy277f9C59H0F0/img.gif&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/r7vLx/btsGBOK2upn/HhhfWtZWNy277f9C59H0F0/img.gif&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/r7vLx/btsGBOK2upn/HhhfWtZWNy277f9C59H0F0/img.gif&quot; srcset=&quot;https://blog.kakaocdn.net/dn/r7vLx/btsGBOK2upn/HhhfWtZWNy277f9C59H0F0/img.gif&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;480&quot; height=&quot;159&quot; data-origin-width=&quot;480&quot; data-origin-height=&quot;159&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;퀵 정렬의 시간복잡도는 O(nlogn) Average,Best는 동일하지만 Worst의 경우 O(n2)이고 이미 정렬된 데이터라면 매우 비효율적으로 작용한다.&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;
&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;
&lt;p data-ke-size=&quot;size16&quot;&gt;이진 탐색은 최악의 경우라도 O(log n)의 성능을 보인다.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&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;
&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;4월 12일 TIL은 여기서 마치도록 하자&lt;/p&gt;</description>
      <category>내일배움캠프</category>
      <author>공정여행</author>
      <guid isPermaLink="true">https://sangmin1007.tistory.com/75</guid>
      <comments>https://sangmin1007.tistory.com/75#entry75comment</comments>
      <pubDate>Fri, 12 Apr 2024 22:08:13 +0900</pubDate>
    </item>
    <item>
      <title>240411-TIL</title>
      <link>https://sangmin1007.tistory.com/74</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;4월 11일&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;오늘은 면접 관련 질문들 중에서 MVC 패턴에 대해서 알아보도록 하겠다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;MVC 패턴&lt;/b&gt;&lt;/h3&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;MVC 패턴은 디자인 패턴중 하나인데&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;Model, View, Controller의 앞글자만 따서 MVC 패턴이라고 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;494&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bdsVTs/btsGx0SxbmW/1FWILL4g6iS5PgHdVBW6e1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bdsVTs/btsGx0SxbmW/1FWILL4g6iS5PgHdVBW6e1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bdsVTs/btsGx0SxbmW/1FWILL4g6iS5PgHdVBW6e1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbdsVTs%2FbtsGx0SxbmW%2F1FWILL4g6iS5PgHdVBW6e1%2Fimg.jpg&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;800&quot; height=&quot;494&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;494&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;구글에 MVC 패턴이라 검색하면 맨 위에 보이는 이미지다&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;뭔가 어려워 보이지만 게임으로 MVC패턴을 봐보자&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;유저는 게임 화면에 보이는 플레이어 캐릭터를 보고있을것이다(View). 캐릭터를 움직이고 싶어 키보드던 마우스던&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;어떤 컨트롤러를 조작한다면?(Controller) 컨트롤러는 모델을 통해 데이터를 가져와서(Model) 사용자가 보고있던 플&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;레이어 캐릭터(View)를 제어하여 움직이는 캐릭터를 보여줄것이다.&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;자 이렇게 MVC 패턴이 어떻게 돌아가는지 먼저 알아보았는데&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;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;모델&amp;nbsp;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모델은 애플리케이션의 정보, 데이터를 나타낸다 데이터 베이스, 상수, 초기화 값, 변수 등을 뜻하며 이러한 Data 정보들의 가공을 책임지는 컴포넌트다&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;1. 사용자가 편집하길 원하는 모든 데이터를 가지고 있어야 한다&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;3. 변경이 일어나면 변경 통지에 대한 처리 방법을 구현해야한다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;뷰&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;input 텍스트 체크박스 항목 등과 같은 사용자 인터페이스 요소를 말한다 화면에 보여지는 출력을 담당하는데&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;1. 모델이 가지고 있는 정보를 따로 저장해서는 안된다.&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;3. 변경이 일어나면 변경 통지에 대한 처리 방법을 구현해야한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;컨트롤러&lt;/b&gt;&lt;/h3&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;1. 모델이나 뷰에 대해서 알고 있어야 한다.&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;p data-ke-size=&quot;size16&quot;&gt;MVC 패턴을 사용하는 이유는 사용자가 보는 뷰 그리고 뷰에대한 데이터 처리를 담당하는 모델&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;뷰와 모델 중간에서 제어하는 컨트롤 3가지로 구성된 MVC 패턴은&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;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘은 MVC 패턴에 대해 알아보았다.&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;결국 MVC도 디자인 패턴 중의 하나였고 각 모델 뷰 컨트롤러가 어떤 역할을 하는지&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;4월 11일 TIL은 여기서 마치도록 하겠다.&lt;/p&gt;</description>
      <category>내일배움캠프</category>
      <author>공정여행</author>
      <guid isPermaLink="true">https://sangmin1007.tistory.com/74</guid>
      <comments>https://sangmin1007.tistory.com/74#entry74comment</comments>
      <pubDate>Thu, 11 Apr 2024 21:52:47 +0900</pubDate>
    </item>
  </channel>
</rss>