<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>jji_veloper</title>
    <link>https://xively.tistory.com/</link>
    <description>Hello, world!</description>
    <language>ko</language>
    <pubDate>Tue, 19 May 2026 07:35:20 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>Jjiveloper</managingEditor>
    <image>
      <title>jji_veloper</title>
      <url>https://tistory1.daumcdn.net/tistory/4309111/attach/e25a4b8a3bb846a9b2f54958970abc0d</url>
      <link>https://xively.tistory.com</link>
    </image>
    <item>
      <title>[gksdudConverter] 한영타 변환기 개발기록 4: 확장앱 용 프로젝트 설계를 다시 하다.</title>
      <link>https://xively.tistory.com/entry/gksdudConverter-%ED%95%9C%EC%98%81%ED%83%80-%EB%B3%80%ED%99%98%EA%B8%B0-%EA%B0%9C%EB%B0%9C%EA%B8%B0%EB%A1%9D-4-%ED%99%95%EC%9E%A5%EC%95%B1-%EC%9A%A9-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EC%84%A4%EA%B3%84%EB%A5%BC-%EB%8B%A4%EC%8B%9C-%ED%95%98%EB%8B%A4</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;한영타 변환기 확장자 앱을 만들고자 마음먹었을 때 확장앱을 만들어 본 적이 없어서 확장앱 설명 글을 쓱 보고 js로 만들어야하는 줄 착각했다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;872&quot; data-origin-height=&quot;231&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/QOlos/btrXrTJrfVi/3ChrQwhuVOrKtDbKQRq5l1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/QOlos/btrXrTJrfVi/3ChrQwhuVOrKtDbKQRq5l1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/QOlos/btrXrTJrfVi/3ChrQwhuVOrKtDbKQRq5l1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQOlos%2FbtrXrTJrfVi%2F3ChrQwhuVOrKtDbKQRq5l1%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;872&quot; height=&quot;231&quot; data-origin-width=&quot;872&quot; data-origin-height=&quot;231&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://developers.whale.naver.com/getting_started/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://developers.whale.naver.com/getting_started/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1674980107267&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;들어가기 전에&quot; data-og-description=&quot;확장앱이 무엇인가요?확장앱(Browser Extension)은 브라우저에 설치하여 브라우저의 기능을 확장하는 작은 애플리케이션입니다. 확장 프로그램이라고도 부릅니다. 웨일 사용자들이 필요로하는 재미&quot; data-og-host=&quot;developers.whale.naver.com&quot; data-og-source-url=&quot;https://developers.whale.naver.com/getting_started/&quot; data-og-url=&quot;https://developers.whale.naver.com/getting_started/index.html&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/SS8of/hyRqV6PUdH/rY0dDlm3GnMhsWpdPTKxck/img.png?width=1200&amp;amp;height=1200&amp;amp;face=0_0_1200_1200,https://scrap.kakaocdn.net/dn/ZDv4s/hyRq0mIJUO/28stFESN5W2Tc8bH5bpAD0/img.png?width=1200&amp;amp;height=1200&amp;amp;face=0_0_1200_1200,https://scrap.kakaocdn.net/dn/cWyvPg/hyRq8Znu7G/AQuy3GEEawm737oBtRHIK0/img.png?width=294&amp;amp;height=211&amp;amp;face=0_0_294_211&quot;&gt;&lt;a href=&quot;https://developers.whale.naver.com/getting_started/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://developers.whale.naver.com/getting_started/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/SS8of/hyRqV6PUdH/rY0dDlm3GnMhsWpdPTKxck/img.png?width=1200&amp;amp;height=1200&amp;amp;face=0_0_1200_1200,https://scrap.kakaocdn.net/dn/ZDv4s/hyRq0mIJUO/28stFESN5W2Tc8bH5bpAD0/img.png?width=1200&amp;amp;height=1200&amp;amp;face=0_0_1200_1200,https://scrap.kakaocdn.net/dn/cWyvPg/hyRq8Znu7G/AQuy3GEEawm737oBtRHIK0/img.png?width=294&amp;amp;height=211&amp;amp;face=0_0_294_211');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;들어가기 전에&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;확장앱이 무엇인가요?확장앱(Browser Extension)은 브라우저에 설치하여 브라우저의 기능을 확장하는 작은 애플리케이션입니다. 확장 프로그램이라고도 부릅니다. 웨일 사용자들이 필요로하는 재미&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;developers.whale.naver.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&lt;img style=&quot;text-align: center; caret-color: transparent; letter-spacing: 0px;&quot; src=&quot;https://blog.kakaocdn.net/dn/qcry8/btrXwiIFlGk/koqZxwzq5EJr4pm5AQmzEK/img.png&quot; data-origin-width=&quot;2388&quot; data-origin-height=&quot;1278&quot; data-is-animation=&quot;false&quot; /&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;js로 만드는 도중&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://tv.naver.com/v/23652538&quot;&gt;웨일 앱 개발 튜토리얼 동영상&lt;/a&gt;의 프로젝트 구성을 본 뒤 프레임 워크 없이 js만 쓰면 힘들겠구나 하고 직감했다. 다른 프레임워크를 안써도 되긴하지만 좀 더 유연하게 만들지 못할듯하다.&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;whale 확장앱 개발 회고록을 보려고 했는데, 아무래도 웨일을 사용하는 비중이 적다보니 회고록도 적었다ㅠㅠ&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 chrome 익스텐션 회고록을 검색해서 참고하기로 했다. 어짜피 둘 다 크로미움 기반이기 때문에 배포하는 구조나 과정이 다를 뿐이지 만들어 놓으면 어느 곳에서나 사용할 수 있기 때문이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;줌인터넷 회사의 크롬 익스텐션 개발: &lt;a href=&quot;https://zuminternet.github.io/Zum-Chrome-Extension/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://zuminternet.github.io/Zum-Chrome-Extension/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1674981476067&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;크롬 확장프로그램 개발⛏️ 회고&quot; data-og-description=&quot;Vue.js를 이용하여 줌 확장프로그램을 개발하는 과정에 대한 회고입니다.&quot; data-og-host=&quot;zuminternet.github.io&quot; data-og-source-url=&quot;https://zuminternet.github.io/Zum-Chrome-Extension/&quot; data-og-url=&quot;https://zuminternet.github.io/Zum-Chrome-Extension/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/wolmL/hyRq7GbyFB/LNmMzzQGyWRKS4fGuMyq41/img.png?width=2880&amp;amp;height=1800&amp;amp;face=0_0_2880_1800,https://scrap.kakaocdn.net/dn/khsjV/hyRqWxUTKj/oa7KFByn5zGp1yJ5Rxem61/img.png?width=1182&amp;amp;height=818&amp;amp;face=0_0_1182_818,https://scrap.kakaocdn.net/dn/bJB7Im/hyRq4QeB6u/1Gt2KnZt6KpYE2noqXVM30/img.png?width=1974&amp;amp;height=486&amp;amp;face=0_0_1974_486&quot;&gt;&lt;a href=&quot;https://zuminternet.github.io/Zum-Chrome-Extension/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://zuminternet.github.io/Zum-Chrome-Extension/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/wolmL/hyRq7GbyFB/LNmMzzQGyWRKS4fGuMyq41/img.png?width=2880&amp;amp;height=1800&amp;amp;face=0_0_2880_1800,https://scrap.kakaocdn.net/dn/khsjV/hyRqWxUTKj/oa7KFByn5zGp1yJ5Rxem61/img.png?width=1182&amp;amp;height=818&amp;amp;face=0_0_1182_818,https://scrap.kakaocdn.net/dn/bJB7Im/hyRq4QeB6u/1Gt2KnZt6KpYE2noqXVM30/img.png?width=1974&amp;amp;height=486&amp;amp;face=0_0_1974_486');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;크롬 확장프로그램 개발⛏️ 회고&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Vue.js를 이용하여 줌 확장프로그램을 개발하는 과정에 대한 회고입니다.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;zuminternet.github.io&lt;/p&gt;
&lt;/div&gt;
&lt;/a&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;a href=&quot;https://opentutorials.org/module/2503/14051&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://opentutorials.org/module/2503/14051&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1674982055181&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;university&quot; data-og-title=&quot;웹페이지에서 공부한 단어의 수를 세기 (크롬 확장 기능 만들기) - 보편적이지 않은 코딩&quot; data-og-description=&quot;수업소개 웹페이지를 소비하는 입장에서도 웹페이지를 대상으로 여러가지 프로그래밍을 할 수 있는 방법이 많습니다. 최근의 웹브라우저들은 대부분 개발자 도구를 제공합니다. 이것을 이용하&quot; data-og-host=&quot;opentutorials.org&quot; data-og-source-url=&quot;https://opentutorials.org/module/2503/14051&quot; data-og-url=&quot;https://opentutorials.org/module/2503/14051&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://opentutorials.org/module/2503/14051&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://opentutorials.org/module/2503/14051&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;웹페이지에서 공부한 단어의 수를 세기 (크롬 확장 기능 만들기) - 보편적이지 않은 코딩&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;수업소개 웹페이지를 소비하는 입장에서도 웹페이지를 대상으로 여러가지 프로그래밍을 할 수 있는 방법이 많습니다. 최근의 웹브라우저들은 대부분 개발자 도구를 제공합니다. 이것을 이용하&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;opentutorials.org&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설계부터 차근차근: &lt;a href=&quot;https://www.peterkimzz.com/vuejs-chrome-extension-1/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.peterkimzz.com/vuejs-chrome-extension-1/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1674982337617&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Vue.js로 크롬 확장 프로그램 만들기 강의 - 1부 - peterkimzz&quot; data-og-description=&quot;제가 최근 우연히 크롬 확장 프로그램을 개발했는데, 이게 생각보다 꽤 괜찮은 시장이라는 걸 알게 되었습니다. 크롬 확장 프로그램은 이미 여러분들에게 익숙한 웹 기술로 쉽게 개발할 수 있고&quot; data-og-host=&quot;www.peterkimzz.com&quot; data-og-source-url=&quot;https://www.peterkimzz.com/vuejs-chrome-extension-1/&quot; data-og-url=&quot;https://www.peterkimzz.com/vuejs-chrome-extension-1&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/eH88P/hyRqV6RY5M/zj0F4KnlV0R5LdtGk8lUdK/img.png?width=604&amp;amp;height=201&amp;amp;face=0_0_604_201&quot;&gt;&lt;a href=&quot;https://www.peterkimzz.com/vuejs-chrome-extension-1/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.peterkimzz.com/vuejs-chrome-extension-1/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/eH88P/hyRqV6RY5M/zj0F4KnlV0R5LdtGk8lUdK/img.png?width=604&amp;amp;height=201&amp;amp;face=0_0_604_201');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Vue.js로 크롬 확장 프로그램 만들기 강의 - 1부 - peterkimzz&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;제가 최근 우연히 크롬 확장 프로그램을 개발했는데, 이게 생각보다 꽤 괜찮은 시장이라는 걸 알게 되었습니다. 크롬 확장 프로그램은 이미 여러분들에게 익숙한 웹 기술로 쉽게 개발할 수 있고&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.peterkimzz.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다시 얼마 개발하지 않은 프로젝트이지만, 이번 기회에 사용해보지 않았던 vite를 사용해보기로 하였다.&lt;/p&gt;</description>
      <category>Project/gksdud Converter (한영 변환기)</category>
      <author>Jjiveloper</author>
      <guid isPermaLink="true">https://xively.tistory.com/93</guid>
      <comments>https://xively.tistory.com/entry/gksdudConverter-%ED%95%9C%EC%98%81%ED%83%80-%EB%B3%80%ED%99%98%EA%B8%B0-%EA%B0%9C%EB%B0%9C%EA%B8%B0%EB%A1%9D-4-%ED%99%95%EC%9E%A5%EC%95%B1-%EC%9A%A9-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EC%84%A4%EA%B3%84%EB%A5%BC-%EB%8B%A4%EC%8B%9C-%ED%95%98%EB%8B%A4#entry93comment</comments>
      <pubDate>Mon, 30 Jan 2023 01:00:59 +0900</pubDate>
    </item>
    <item>
      <title>[gksdudConverter] 한영타 변환기 개발기록 3 : 한글 -&amp;gt; 영어 타자 변환하기, javascript 한글 자소 분리하기</title>
      <link>https://xively.tistory.com/entry/gksdudConverter-%ED%95%9C%EC%98%81%ED%83%80-%EB%B3%80%ED%99%98%EA%B8%B0-%EA%B0%9C%EB%B0%9C%EA%B8%B0%EB%A1%9D-3-%ED%95%9C%EA%B8%80-%EC%98%81%EC%96%B4-%ED%83%80%EC%9E%90-%EB%B3%80%ED%99%98%ED%95%98%EA%B8%B0-javascript-%ED%95%9C%EA%B8%80-%EC%9E%90%EC%86%8C-%EB%B6%84%EB%A6%AC%ED%95%98%EA%B8%B0</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;853&quot; data-origin-height=&quot;481&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/crhsnB/btrXpc3v1VR/Bc8cK9gQVy5Uh1SZWtOKxk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/crhsnB/btrXpc3v1VR/Bc8cK9gQVy5Uh1SZWtOKxk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/crhsnB/btrXpc3v1VR/Bc8cK9gQVy5Uh1SZWtOKxk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcrhsnB%2FbtrXpc3v1VR%2FBc8cK9gQVy5Uh1SZWtOKxk%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;853&quot; height=&quot;481&quot; data-origin-width=&quot;853&quot; data-origin-height=&quot;481&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우선 issue를 발행하고 todo에 있는 것들을 소 issue로 발행해 순차적으로 해결해야겠다.&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;blockquote data-ke-style=&quot;style3&quot;&gt;[(초성) &amp;times; 588 + (중성) &amp;times; 28 + (종성)] + 44032(=0xAC00, &quot;가&quot;에 해당하는 코드 값)&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한글에 대한 유니코드 공식은 얻었으나, 각 자리에 대한 값을 얻기위한 공식을 찾는 것이 조금 귀찮았다...^^ 우리에겐 구교수님이 계시니 바로 검색해봄.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;역시나 세상엔 천재들이 많다!! -&amp;gt; &lt;a style=&quot;letter-spacing: 0px;&quot; href=&quot;https://blog.naver.com/PostView.nhn?blogId=tk2rush90&amp;amp;logNo=221085154547&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;공식 참고한 곳&lt;/a&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;pre id=&quot;code_1674974367977&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// 첫 문자인 &quot;가&quot;에 해당하는 값
const korGAUnicode = 0xAC00;
// 초성, 중성, 종성 시작 값
const [firstInitial, firstMedial, firstFinal] = [0x1100, 0x1161, 0x11A7];
// 초성, 중성, 종성 개수
const [initialCount, medialCount, finalCount] = [18, 21, 28];&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우선 자소 분리 시 필요한 값을 선언해놓았다.&lt;/p&gt;
&lt;pre id=&quot;code_1674974418275&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// 첫 문자인 &quot;가&quot;에 해당하는 값
const korGAUnicode = 0xAC00;
// 초성, 중성, 종성 시작 값
const [firstInitial, firstMedial, firstFinal] = [0x1100, 0x1161, 0x11A7];
// 초성, 중성, 종성 개수
const [initialCount, medialCount, finalCount] = [18, 21, 28];

/**
 * 글자에 해당하는 unicode 값을 구한다.
 *
 * @since 2023-01-29
 * @param {String} letter unicode로 변환할 글자
 * @returns {number} unicode
 */
const getUnicode = (letter) =&amp;gt; {
  if (letter.length !== 1) {
    throw new Error(&quot;매개 변수는 한 글자여야 합니다.&quot;);
  }

  return letter.codePointAt(0);
}

/**
 * unicode가 가지고 있는 초성이 jomo block에서 몇 번째 글자인지 구한다.
 *
 * @since 2023-01-29
 * @param {Number} unicode 초성 순서 값을 구할 글자 unicode
 * @returns {number} 초성 순서(순서는 Hangul Jamo Unicode block 순서에 의거함)
 * @link https://en.wikipedia.org/wiki/Hangul_Jamo_(Unicode_block)
 */
const getInitialIndex = (unicode) =&amp;gt; {
  if (typeof unicode !== &quot;number&quot;) {
    throw new Error(&quot;unicode는 숫자여야합니다.&quot;);
  }

  return Math.floor((unicode - korGAUnicode) / (medialCount * finalCount));
}

/**
 * unicode가 가지고 있는 중성이 jomo block에서 몇 번째 글자인지 구한다.
 *
 * @since 2023-01-29
 * @param {Number} unicode 중성 순서 값을 구할 글자 unicode
 * @returns {number} 중성 순서(순서는 Hangul Jamo Unicode block 순서에 의거함)
 * @link https://en.wikipedia.org/wiki/Hangul_Jamo_(Unicode_block)
 */
const getMedialIndex = (unicode) =&amp;gt; {
  if (typeof unicode !== &quot;number&quot;) {
    throw new Error(&quot;unicode는 숫자여야합니다.&quot;);
  }

  return Math.floor((unicode - korGAUnicode) / finalCount % medialCount);
}

/**
 * unicode가 가지고 있는 종성이 jomo block에서 몇 번째 글자인지 구한다.
 *
 * @since 2023-01-29
 * @param {Number} unicode 종성 순서 값을 구할 글자 unicode
 * @returns {number} 종성 순서(순서는 Hangul Jamo Unicode block 순서에 의거함)
 * @link https://en.wikipedia.org/wiki/Hangul_Jamo_(Unicode_block)
 */
const getFinalIndex = (unicode) =&amp;gt; {
  if (typeof unicode !== &quot;number&quot;) {
    throw new Error(&quot;unicode는 숫자여야합니다.&quot;);
  }

  return Math.floor((unicode - korGAUnicode) % finalCount);
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;초성, 중성, 종성 값을 구하는 함수이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;글자 별로 unicode 값을 구한 뒤, 그 값으로 자소 분리를 할 수 있게끔 하였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;초성,중성,종성 값을 분리하는 함수를 개별로 작성할 지, 함수를 하나로 두고 매개변수로 어떤 값을 구하는 것인지 판별할 지에 대해서 고민을 했다.&lt;/p&gt;
&lt;pre id=&quot;code_1674974829391&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// 예시 코드
const getGraphemeIndex = (direction, unicode) =&amp;gt; {
  if (typeof unicode !== &quot;number&quot;) {
    throw new Error(&quot;unicode는 숫자여야합니다.&quot;);
  }

  switch (direction) {
    case &quot;initial&quot;:
      return Math.floor((unicode - korGAUnicode) / (medialCount * finalCount));
    case &quot;medial&quot;:
      return Math.floor((unicode - korGAUnicode) / finalCount % medialCount);
    case &quot;final&quot;:
      return Math.floor((unicode - korGAUnicode) % finalCount);
    default:
      throw new Error(&quot;잘못된 요청입니다.&quot;);
  }
}&lt;/code&gt;&lt;/pre&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;direction 값에 대한 유효성 검사를 추가해야할뿐더러, 어떤 값을 넣어줘야하는지 한번에 알기 어렵다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;뭐 객체 freeze()를 이용해 Enum을 만들면 가능할지도 모르지만 개인적으로 이 함수는 그렇게까지 할 필요는 없을 것 같아서 함수를 각각 분리해줬다.&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;글을 적으면서 생각했는데, 두개의 방법을 합쳐도 될 것 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;getGraphemeIndex 함수를 객체로 선언 후 key 값으로 초성, 중성, 종성을 넣어주고, 그에 해당하는 함수를&amp;nbsp; value에 넣어주면 추후에 관리하기도 편할 듯?&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우선 결과부터 보자!!&lt;/p&gt;
&lt;pre id=&quot;code_1674975405030&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;  &amp;lt;script&amp;gt;
    window.addEventListener('DOMContentLoaded', function() {
      console.log(getGraphemeList(&quot;한글 자소 분리12ab&quot;));
    });
  &amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;556&quot; data-origin-height=&quot;314&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/DCKTP/btrXn7PmZyd/K2ShARzDnBLGVNoxvE8Jc0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/DCKTP/btrXn7PmZyd/K2ShARzDnBLGVNoxvE8Jc0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/DCKTP/btrXn7PmZyd/K2ShARzDnBLGVNoxvE8Jc0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDCKTP%2FbtrXn7PmZyd%2FK2ShARzDnBLGVNoxvE8Jc0%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;556&quot; height=&quot;314&quot; data-origin-width=&quot;556&quot; data-origin-height=&quot;314&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한글만 초,중,종성으로 분리되었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한글이 아니면 한글 여부를 false로 한 뒤 초성 값에 문자를 그대로 넣어주었다.&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;span style=&quot;background-color: #c1bef9;&quot;&gt;&lt;b&gt;전체 코드&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1674975499078&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&quot;use strict&quot;;

/* 구현 순서
  1. 단어를 한 글자씩 쪼갠다.
  2. 쪼갠 글자를 유니코드로 변환한다.
  3. 유니코드에서 초성~종성의 값을 구한다.
 */

// 첫 문자인 &quot;가&quot;에 해당하는 값
const korGAUnicode = 0xAC00;
// 초성, 중성, 종성 시작 값
const [firstInitial, firstMedial, firstFinal] = [0x1100, 0x1161, 0x11A7];
// 초성, 중성, 종성 개수
const [initialCount, medialCount, finalCount] = [18, 21, 28];

/**
 * 한국어 자소 분리를 진행한다.
 *
 * param을 한 글자씩 쪼개어 한국어일 경우에만 자소 분리를 수행한다.
 *
 * @since 2023-01-29
 * @param {String} word 자소 분리를 진행할 한국어
 * @returns {Object[]} {isKorean: Boolean, initial: String, medial: String||null, final: String||null}
 */
const getGraphemeList = (word) =&amp;gt; {
  if (word.length &amp;lt; 1) {
    throw new Error(&quot;매개 변수는 한 글자이상이어야 합니다.&quot;);
  }

  return splitWord(word).reduce((arr, letter) =&amp;gt; {
    if (letter.match(/[ㄱ-ㅎ|가-힣]/g)) { // 한글일 때만 자소 분리
      let {initial, medial, final} = splitGrapheme(getUnicode(letter));

      arr.push({
        isKorean: true,
        initial: getInitialLetter(initial),
        medial: getMedialLetter(medial),
        final: getFinalLetter(final)
      });
    } else {
      arr.push({
        isKorean: false,
        initial: letter
      });
    }

    return arr;
  }, []);
}

/**
 * unicode에 해당하는 한글을 반환한다.
 *
 * @since 2023-01-29
 * @param {Number} unicode 한글로 변환할 unicode
 * @returns {string} 한글
 */
const getLetterFromUnicode = (unicode) =&amp;gt; {
  return String.fromCharCode(unicode);
}

/**
 * unicode에 해당하는 초성 값을 반환한다.
 *
 * @since 2023-01-29
 * @param {Number} unicode 한글로 변환할 초성 unicode
 * @returns {string} 한글(초성)
 */
const getInitialLetter = (unicode) =&amp;gt; {
  return getLetterFromUnicode(unicode + firstInitial);
}

/**
 * unicode에 해당하는 중성 값을 반환한다.
 *
 * @since 2023-01-29
 * @param {Number} unicode 한글로 변환할 중성 unicode
 * @returns {string} 한글(중성)
 */
const getMedialLetter = (unicode) =&amp;gt; {
  return getLetterFromUnicode(unicode + firstMedial);
}

/**
 * unicode에 해당하는 종성 값을 반환한다.
 *
 * @since 2023-01-29
 * @param {Number} unicode 한글로 변환할 종성 unicode
 * @returns {string} 한글(종성)
 */

const getFinalLetter = (unicode) =&amp;gt; {
  return getLetterFromUnicode(unicode + firstFinal);
}

/**
 * 단어를 한 글자씩 쪼개어 배열로 반환한다.
 *
 * @since 2023-01-29
 * @param {String} word 쪼갤 단어
 * @returns {String[]} 한 글자씩 쪼개진 결과
 */
const splitWord = (word) =&amp;gt; {
  return [...word];
}

/**
 * unicode에 해당하는 글자를 자소 분리한다.
 *
 * @since 2023-01-29
 * @param {Number} unicode 자소 분리할 글자
 * @returns {Object} {initial, medial, final} 자소 분리 결과
 */
const splitGrapheme = (unicode) =&amp;gt; {
  let initial = getInitialIndex(unicode);
  let medial = getMedialIndex(unicode);
  let final = getFinalIndex(unicode);

  return {initial, medial, final};
}

/**
 * 글자에 해당하는 unicode 값을 구한다.
 *
 * @since 2023-01-29
 * @param {String} letter unicode로 변환할 글자
 * @returns {number} unicode
 */
const getUnicode = (letter) =&amp;gt; {
  if (letter.length !== 1) {
    throw new Error(&quot;매개 변수는 한 글자여야 합니다.&quot;);
  }

  return letter.codePointAt(0);
}

/**
 * unicode가 가지고 있는 초성이 jomo block에서 몇 번째 글자인지 구한다.
 *
 * @since 2023-01-29
 * @param {Number} unicode 초성 순서 값을 구할 글자 unicode
 * @returns {number} 초성 순서(순서는 Hangul Jamo Unicode block 순서에 의거함)
 * @link https://en.wikipedia.org/wiki/Hangul_Jamo_(Unicode_block)
 */
const getInitialIndex = (unicode) =&amp;gt; {
  if (typeof unicode !== &quot;number&quot;) {
    throw new Error(&quot;unicode는 숫자여야합니다.&quot;);
  }

  return Math.floor((unicode - korGAUnicode) / (medialCount * finalCount));
}

/**
 * unicode가 가지고 있는 중성이 jomo block에서 몇 번째 글자인지 구한다.
 *
 * @since 2023-01-29
 * @param {Number} unicode 중성 순서 값을 구할 글자 unicode
 * @returns {number} 중성 순서(순서는 Hangul Jamo Unicode block 순서에 의거함)
 * @link https://en.wikipedia.org/wiki/Hangul_Jamo_(Unicode_block)
 */
const getMedialIndex = (unicode) =&amp;gt; {
  if (typeof unicode !== &quot;number&quot;) {
    throw new Error(&quot;unicode는 숫자여야합니다.&quot;);
  }

  return Math.floor((unicode - korGAUnicode) / finalCount % medialCount);
}

/**
 * unicode가 가지고 있는 종성이 jomo block에서 몇 번째 글자인지 구한다.
 *
 * @since 2023-01-29
 * @param {Number} unicode 종성 순서 값을 구할 글자 unicode
 * @returns {number} 종성 순서(순서는 Hangul Jamo Unicode block 순서에 의거함)
 * @link https://en.wikipedia.org/wiki/Hangul_Jamo_(Unicode_block)
 */
const getFinalIndex = (unicode) =&amp;gt; {
  if (typeof unicode !== &quot;number&quot;) {
    throw new Error(&quot;unicode는 숫자여야합니다.&quot;);
  }

  return Math.floor((unicode - korGAUnicode) % finalCount);
}&lt;/code&gt;&lt;/pre&gt;</description>
      <category>Project/gksdud Converter (한영 변환기)</category>
      <author>Jjiveloper</author>
      <guid isPermaLink="true">https://xively.tistory.com/92</guid>
      <comments>https://xively.tistory.com/entry/gksdudConverter-%ED%95%9C%EC%98%81%ED%83%80-%EB%B3%80%ED%99%98%EA%B8%B0-%EA%B0%9C%EB%B0%9C%EA%B8%B0%EB%A1%9D-3-%ED%95%9C%EA%B8%80-%EC%98%81%EC%96%B4-%ED%83%80%EC%9E%90-%EB%B3%80%ED%99%98%ED%95%98%EA%B8%B0-javascript-%ED%95%9C%EA%B8%80-%EC%9E%90%EC%86%8C-%EB%B6%84%EB%A6%AC%ED%95%98%EA%B8%B0#entry92comment</comments>
      <pubDate>Mon, 30 Jan 2023 00:01:32 +0900</pubDate>
    </item>
    <item>
      <title>[gksdudConverter] 한영타 변환기 개발기록 2 : 구현 방법 모색하기</title>
      <link>https://xively.tistory.com/entry/gksdudConverter-%ED%95%9C%EC%98%81%ED%83%80-%EB%B3%80%ED%99%98%EA%B8%B0-%EA%B0%9C%EB%B0%9C%EA%B8%B0%EB%A1%9D-2-%EA%B5%AC%ED%98%84-%EB%B0%A9%EB%B2%95-%EB%AA%A8%EC%83%89%ED%95%98%EA%B8%B0</link>
      <description>&lt;blockquote data-ke-style=&quot;style2&quot;&gt;목차&lt;br /&gt;&lt;a href=&quot;https://xively.tistory.com/entry/gksdudConverter-%ED%95%9C%EC%98%81%ED%83%80-%EB%B3%80%ED%99%98%EA%B8%B0-%EA%B0%9C%EB%B0%9C%EA%B8%B0%EB%A1%9D-1-%EA%B0%9C%EB%B0%9C-%EC%9D%B4%EC%9C%A0%EC%99%80-%EA%B5%AC%ED%98%84-%EB%B0%A9%EB%B2%95-%EB%96%A0%EC%98%AC%EB%A6%AC%EA%B8%B0&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;1 : 개발 이유와 구현 방법 떠올리기&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;https://xively.tistory.com/entry/gksdudConverter-%ED%95%9C%EC%98%81%ED%83%80-%EB%B3%80%ED%99%98%EA%B8%B0-%EA%B0%9C%EB%B0%9C%EA%B8%B0%EB%A1%9D-2-%EA%B5%AC%ED%98%84-%EB%B0%A9%EB%B2%95-%EB%AA%A8%EC%83%89%ED%95%98%EA%B8%B0&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2 : 구현 방법 모색하기 (현재)&lt;/a&gt;&amp;nbsp;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음 생각한 방법&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한글을 자소 분리 한 다음 해당 글자와 매칭되는 영어를 붙여줘야겠다!!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;한&quot;이면 정규화를 통한 분리가 아닌 분리할 수 있는 규칙을 찾은 후 ㅎ ㅏ ㄴ 각각 글자에 해당하는 영어 타자인&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;g k s 를 붙여준다는 말이다...&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;p data-ke-size=&quot;size16&quot;&gt;이 순서로 개발하면 될 것 같았다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;제일 난항은 영어를 어떻게 한국어로 변환할 지에 대한 것이였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;영어를 한국어로 변환한다고 해도 이 글자가 받침이 있는 글자인지 아닌지, 초성만 있는지 중성만 있는지 종성까지 있는지를 구분해야하는 것이 어려웠다...&lt;/p&gt;
&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;blockquote data-ke-style=&quot;style3&quot;&gt;1. 자음에서 자음인 경우&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1-1. 종성에 포함된 자음인지 확인한다.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;1-2. 종성 중에서도 합쳐진? 종성인지 확인한다. (ㄳ ㄺ ㅀ 등)&lt;br /&gt;2. 자음에서 모음인 경우&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2-1. 해당 자음은 초성으로 인식한다.&lt;br /&gt;3. 모음에서 자음인 경우&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;3-1. 앞 글자가 자음이라면 중성으로 나두기&lt;br /&gt;&amp;nbsp; &amp;nbsp;3-2. 앞 글자가 종성까지 있거나 모음인 경우 그냥 한 글자로 나두기&lt;br /&gt;4. 공백이거나 영어가 아닌 경우 건너뛴다.&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;방법 생각하면서 대충 정리한거라 말이 이상할 수는 있는데 이런 방법으로 합치기로 했다 ㅎㅎㅎ&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한 글자를 초성 중성 종성의 구성인 객체로 만들면 어떨지 고민했음. 이건 개발하면서 방향을 정해봐야할 것 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;현재는 객체 배열을 만들까도 고민 중이다.&lt;/p&gt;
&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;a href=&quot;https://en.wikipedia.org/wiki/Korean_language_and_computers#Hangul_in_Unicode&quot;&gt;https://en.wikipedia.org/wiki/Korean_language_and_computers#Hangul_in_Unicode&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1674931904620&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Korean language and computers - Wikipedia&quot; data-og-description=&quot;From Wikipedia, the free encyclopedia Input and use of Korean on computers South Korean standard Dubeolsik ('two-set type') layout North Korean Dubeolsik layout The writing system of the Korean language is a syllabic alphabet of character parts (jamo) orga&quot; data-og-host=&quot;en.wikipedia.org&quot; data-og-source-url=&quot;https://en.wikipedia.org/wiki/Korean_language_and_computers#Hangul_in_Unicode&quot; data-og-url=&quot;https://en.wikipedia.org/wiki/Korean_language_and_computers#Hangul_in_Unicode&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/vBdww/hyRpLQTITm/aMrMRsXRyTKaREiS773Ue1/img.png?width=1200&amp;amp;height=400&amp;amp;face=0_0_1200_400,https://scrap.kakaocdn.net/dn/bcUA30/hyRpJS7qhS/Z09SfRofOQdGAOWopV9u61/img.png?width=800&amp;amp;height=267&amp;amp;face=0_0_800_267,https://scrap.kakaocdn.net/dn/8EZC5/hyRpJMky7n/3QpxFB3MLzLecAkyAtkpE1/img.png?width=640&amp;amp;height=213&amp;amp;face=0_0_640_213&quot;&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Korean_language_and_computers#Hangul_in_Unicode&quot; data-source-url=&quot;https://en.wikipedia.org/wiki/Korean_language_and_computers#Hangul_in_Unicode&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/vBdww/hyRpLQTITm/aMrMRsXRyTKaREiS773Ue1/img.png?width=1200&amp;amp;height=400&amp;amp;face=0_0_1200_400,https://scrap.kakaocdn.net/dn/bcUA30/hyRpJS7qhS/Z09SfRofOQdGAOWopV9u61/img.png?width=800&amp;amp;height=267&amp;amp;face=0_0_800_267,https://scrap.kakaocdn.net/dn/8EZC5/hyRpJMky7n/3QpxFB3MLzLecAkyAtkpE1/img.png?width=640&amp;amp;height=213&amp;amp;face=0_0_640_213');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Korean language and computers - Wikipedia&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;From Wikipedia, the free encyclopedia Input and use of Korean on computers South Korean standard Dubeolsik ('two-set type') layout North Korean Dubeolsik layout The writing system of the Korean language is a syllabic alphabet of character parts (jamo) orga&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;en.wikipedia.org&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한글 유니코드는 위와 같은 공식이 있단걸 찾게되었다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;[(초성) &amp;times; 588 + (중성) &amp;times; 28 + (종성)] + 44032 (&quot;가&quot;에 해당하는 코드 값)&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Hangul_Jamo_(Unicode_block)&quot;&gt;https://en.wikipedia.org/wiki/Hangul_Jamo_(Unicode_block)&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1674931904622&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Hangul Jamo (Unicode block) - Wikipedia&quot; data-og-description=&quot;From Wikipedia, the free encyclopedia Unicode character block Hangul JamoRangeU+1100..U+11FF(256 code points)PlaneBMPScriptsHangulMajor alphabetsHangulAssigned256 code pointsUnused0 reserved code points1.1 (1993)240 (+240)5.2 (2009)256 (+16) Code chartNote&quot; data-og-host=&quot;en.wikipedia.org&quot; data-og-source-url=&quot;https://en.wikipedia.org/wiki/Hangul_Jamo_(Unicode_block)&quot; data-og-url=&quot;https://en.wikipedia.org/wiki/Hangul_Jamo_(Unicode_block)&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/b5CeNC/hyRqXb3TWO/k4dV3qtvTdDY5tYLduKzCk/img.png?width=1200&amp;amp;height=1783&amp;amp;face=0_0_1200_1783,https://scrap.kakaocdn.net/dn/dzpd1K/hyRq2ErMqg/CJn9vt3ZBZOgacuZKezzb1/img.png?width=800&amp;amp;height=1188&amp;amp;face=0_0_800_1188,https://scrap.kakaocdn.net/dn/b9ib8h/hyRq6Un8KD/CrIjS8ZS9MPkqodp56t5zK/img.png?width=640&amp;amp;height=951&amp;amp;face=0_0_640_951&quot;&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Hangul_Jamo_(Unicode_block)&quot; data-source-url=&quot;https://en.wikipedia.org/wiki/Hangul_Jamo_(Unicode_block)&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/b5CeNC/hyRqXb3TWO/k4dV3qtvTdDY5tYLduKzCk/img.png?width=1200&amp;amp;height=1783&amp;amp;face=0_0_1200_1783,https://scrap.kakaocdn.net/dn/dzpd1K/hyRq2ErMqg/CJn9vt3ZBZOgacuZKezzb1/img.png?width=800&amp;amp;height=1188&amp;amp;face=0_0_800_1188,https://scrap.kakaocdn.net/dn/b9ib8h/hyRq6Un8KD/CrIjS8ZS9MPkqodp56t5zK/img.png?width=640&amp;amp;height=951&amp;amp;face=0_0_640_951');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Hangul Jamo (Unicode block) - Wikipedia&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;From Wikipedia, the free encyclopedia Unicode character block Hangul JamoRangeU+1100..U+11FF(256 code points)PlaneBMPScriptsHangulMajor alphabetsHangulAssigned256 code pointsUnused0 reserved code points1.1 (1993)240 (+240)5.2 (2009)256 (+16) Code chartNote&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;en.wikipedia.org&lt;/p&gt;
&lt;/div&gt;
&lt;/a&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;현대 표준어에 사용되는 글자만 추렸음. 초성 중성 종성간의 간격은 옛 한글에 사용되었던 코드들이 있기에 생긴 것이다.&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;b&gt;초성 (U+1100 ~ U+1112)&lt;/b&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 72px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style5&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 16px;&quot;&gt;
&lt;td style=&quot;width: 78.3882px; height: 16px;&quot;&gt;0&lt;/td&gt;
&lt;td style=&quot;width: 78.3882px; height: 16px;&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;width: 78.3882px; height: 16px;&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;width: 78.3882px; height: 16px;&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;width: 78.3882px; height: 16px;&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;width: 78.3882px; height: 16px;&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;width: 78.3882px; height: 16px;&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;width: 78.3882px; height: 16px;&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;width: 78.4868px; height: 16px;&quot;&gt;8&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 78.3882px; height: 20px;&quot;&gt;ㄱ&lt;/td&gt;
&lt;td style=&quot;width: 78.3882px; height: 20px;&quot;&gt;ㄲ&lt;/td&gt;
&lt;td style=&quot;width: 78.3882px; height: 20px;&quot;&gt;ㄴ&lt;/td&gt;
&lt;td style=&quot;width: 78.3882px; height: 20px;&quot;&gt;ㄷ&lt;/td&gt;
&lt;td style=&quot;width: 78.3882px; height: 20px;&quot;&gt;ㄸ&lt;/td&gt;
&lt;td style=&quot;width: 78.3882px; height: 20px;&quot;&gt;ㄹ&lt;/td&gt;
&lt;td style=&quot;width: 78.3882px; height: 20px;&quot;&gt;ㅁ&lt;/td&gt;
&lt;td style=&quot;width: 78.3882px; height: 20px;&quot;&gt;ㅃ&lt;/td&gt;
&lt;td style=&quot;width: 78.4868px; height: 20px;&quot;&gt;ㅃ&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 16px;&quot;&gt;
&lt;td style=&quot;width: 78.3882px; height: 16px;&quot;&gt;9&lt;/td&gt;
&lt;td style=&quot;width: 78.3882px; height: 16px;&quot;&gt;10&lt;/td&gt;
&lt;td style=&quot;width: 78.3882px; height: 16px;&quot;&gt;11&lt;/td&gt;
&lt;td style=&quot;width: 78.3882px; height: 16px;&quot;&gt;12&lt;/td&gt;
&lt;td style=&quot;width: 78.3882px; height: 16px;&quot;&gt;13&lt;/td&gt;
&lt;td style=&quot;width: 78.3882px; height: 16px;&quot;&gt;14&lt;/td&gt;
&lt;td style=&quot;width: 78.3882px; height: 16px;&quot;&gt;15&lt;/td&gt;
&lt;td style=&quot;width: 78.3882px; height: 16px;&quot;&gt;16&lt;/td&gt;
&lt;td style=&quot;width: 78.4868px; height: 16px;&quot;&gt;17&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 78.3882px; height: 20px;&quot;&gt;ㅅ&lt;/td&gt;
&lt;td style=&quot;width: 78.3882px; height: 20px;&quot;&gt;ㅆ&lt;/td&gt;
&lt;td style=&quot;width: 78.3882px; height: 20px;&quot;&gt;ㅇ&lt;/td&gt;
&lt;td style=&quot;width: 78.3882px; height: 20px;&quot;&gt;ㅈ&lt;/td&gt;
&lt;td style=&quot;width: 78.3882px; height: 20px;&quot;&gt;ㅊ&lt;/td&gt;
&lt;td style=&quot;width: 78.3882px; height: 20px;&quot;&gt;ㅋ&lt;/td&gt;
&lt;td style=&quot;width: 78.3882px; height: 20px;&quot;&gt;ㅌ&lt;/td&gt;
&lt;td style=&quot;width: 78.3882px; height: 20px;&quot;&gt;ㅍ&lt;/td&gt;
&lt;td style=&quot;width: 78.4868px; height: 20px;&quot;&gt;ㅎ&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;중성&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(&lt;/span&gt;&lt;span&gt;U+1161 ~&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;U+1176)&lt;/b&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 64px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style5&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 16px;&quot;&gt;
&lt;td style=&quot;width: 11.1111%; height: 16px;&quot;&gt;0&lt;/td&gt;
&lt;td style=&quot;width: 11.1111%; height: 16px;&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;width: 11.1111%; height: 16px;&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;width: 11.1111%; height: 16px;&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;width: 11.1111%; height: 16px;&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;width: 11.1111%; height: 16px;&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;width: 11.1111%; height: 16px;&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;width: 11.1111%; height: 16px;&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;width: 11.1111%; height: 16px;&quot;&gt;8&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 16px;&quot;&gt;
&lt;td style=&quot;width: 11.1111%; height: 16px;&quot;&gt;ㅏ&lt;/td&gt;
&lt;td style=&quot;width: 11.1111%; height: 16px;&quot;&gt;ㅐ&lt;/td&gt;
&lt;td style=&quot;width: 11.1111%; height: 16px;&quot;&gt;ㅑ&lt;/td&gt;
&lt;td style=&quot;width: 11.1111%; height: 16px;&quot;&gt;ㅒ&lt;/td&gt;
&lt;td style=&quot;width: 11.1111%; height: 16px;&quot;&gt;ㅓ&lt;/td&gt;
&lt;td style=&quot;width: 11.1111%; height: 16px;&quot;&gt;ㅔ&lt;/td&gt;
&lt;td style=&quot;width: 11.1111%; height: 16px;&quot;&gt;ㅕ&lt;/td&gt;
&lt;td style=&quot;width: 11.1111%; height: 16px;&quot;&gt;ㅖ&lt;/td&gt;
&lt;td style=&quot;width: 11.1111%; height: 16px;&quot;&gt;ㅗ&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 16px;&quot;&gt;
&lt;td style=&quot;width: 11.1111%; height: 16px;&quot;&gt;9&lt;/td&gt;
&lt;td style=&quot;width: 11.1111%; height: 16px;&quot;&gt;10&lt;/td&gt;
&lt;td style=&quot;width: 11.1111%; height: 16px;&quot;&gt;11&lt;/td&gt;
&lt;td style=&quot;width: 11.1111%; height: 16px;&quot;&gt;12&lt;/td&gt;
&lt;td style=&quot;width: 11.1111%; height: 16px;&quot;&gt;13&lt;/td&gt;
&lt;td style=&quot;width: 11.1111%; height: 16px;&quot;&gt;14&lt;/td&gt;
&lt;td style=&quot;width: 11.1111%; height: 16px;&quot;&gt;15&lt;/td&gt;
&lt;td style=&quot;width: 11.1111%; height: 16px;&quot;&gt;16&lt;/td&gt;
&lt;td style=&quot;width: 11.1111%; height: 16px;&quot;&gt;17&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 11.1111%;&quot;&gt;ㅘ&lt;/td&gt;
&lt;td style=&quot;width: 11.1111%;&quot;&gt;ㅙ&lt;/td&gt;
&lt;td style=&quot;width: 11.1111%;&quot;&gt;ㅚ&lt;/td&gt;
&lt;td style=&quot;width: 11.1111%;&quot;&gt;ㅛ&lt;/td&gt;
&lt;td style=&quot;width: 11.1111%;&quot;&gt;ㅜ&lt;/td&gt;
&lt;td style=&quot;width: 11.1111%;&quot;&gt;ㅝ&lt;/td&gt;
&lt;td style=&quot;width: 11.1111%;&quot;&gt;ㅞ&lt;/td&gt;
&lt;td style=&quot;width: 11.1111%;&quot;&gt;ㅟ&lt;/td&gt;
&lt;td style=&quot;width: 11.1111%;&quot;&gt;ㅠ&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 11.1111%;&quot;&gt;18&lt;/td&gt;
&lt;td style=&quot;width: 11.1111%;&quot;&gt;19&lt;/td&gt;
&lt;td style=&quot;width: 11.1111%;&quot;&gt;20&lt;/td&gt;
&lt;td style=&quot;width: 11.1111%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 11.1111%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 11.1111%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 11.1111%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 11.1111%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 11.1111%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 16px;&quot;&gt;
&lt;td style=&quot;width: 11.1111%; height: 16px;&quot;&gt;ㅡ&lt;/td&gt;
&lt;td style=&quot;width: 11.1111%; height: 16px;&quot;&gt;ㅢ&lt;/td&gt;
&lt;td style=&quot;width: 11.1111%; height: 16px;&quot;&gt;ㅣ&lt;/td&gt;
&lt;td style=&quot;width: 11.1111%; height: 16px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 11.1111%; height: 16px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 11.1111%; height: 16px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 11.1111%; height: 16px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 11.1111%; height: 16px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 11.1111%; height: 16px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;종성&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(&lt;/span&gt;&lt;span&gt;U+11A8 ~&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;U+11C2)&lt;/b&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style5&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;ㄱ&lt;/td&gt;
&lt;td&gt;ㄲ&lt;/td&gt;
&lt;td&gt;ㄳ&lt;/td&gt;
&lt;td&gt;ㄴ&lt;/td&gt;
&lt;td&gt;ㄵ&lt;/td&gt;
&lt;td&gt;ㄶ&lt;/td&gt;
&lt;td&gt;ㄷ&lt;/td&gt;
&lt;td&gt;ㄹ&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;9&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;11&lt;/td&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;td&gt;13&lt;/td&gt;
&lt;td&gt;14&lt;/td&gt;
&lt;td&gt;15&lt;/td&gt;
&lt;td&gt;16&lt;/td&gt;
&lt;td&gt;17&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ㄺ&lt;/td&gt;
&lt;td&gt;ㄻ&lt;/td&gt;
&lt;td&gt;ㄼ&lt;/td&gt;
&lt;td&gt;ㄽ&lt;/td&gt;
&lt;td&gt;ㄾ&lt;/td&gt;
&lt;td&gt;ㄿ&lt;/td&gt;
&lt;td&gt;ㅀ&lt;/td&gt;
&lt;td&gt;ㅁ&lt;/td&gt;
&lt;td&gt;ㅂ&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;18&lt;/td&gt;
&lt;td&gt;19&lt;/td&gt;
&lt;td&gt;20&lt;/td&gt;
&lt;td&gt;21&lt;/td&gt;
&lt;td&gt;22&lt;/td&gt;
&lt;td&gt;23&lt;/td&gt;
&lt;td&gt;24&lt;/td&gt;
&lt;td&gt;25&lt;/td&gt;
&lt;td&gt;26&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ㅄ&lt;/td&gt;
&lt;td&gt;ㅅ&lt;/td&gt;
&lt;td&gt;ㅆ&lt;/td&gt;
&lt;td&gt;ㅇ&lt;/td&gt;
&lt;td&gt;ㅈ&lt;/td&gt;
&lt;td&gt;ㅊ&lt;/td&gt;
&lt;td&gt;ㅋ&lt;/td&gt;
&lt;td&gt;ㅌ&lt;/td&gt;
&lt;td&gt;ㅍ&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;27&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ㅎ&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각 자리에 해당하는 코드를 js의&lt;span&gt;&amp;nbsp;&lt;/span&gt;String.fromCharCode(코드 값) 함수를 이용하면 코드 값에 해당하는 글자가 나오기 때문에 글자만 만들면 한글로의 변환은 쉬울 것 같았다!!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 실제로 구현해보고자 한다.&lt;/p&gt;</description>
      <category>Project/gksdud Converter (한영 변환기)</category>
      <author>Jjiveloper</author>
      <guid isPermaLink="true">https://xively.tistory.com/91</guid>
      <comments>https://xively.tistory.com/entry/gksdudConverter-%ED%95%9C%EC%98%81%ED%83%80-%EB%B3%80%ED%99%98%EA%B8%B0-%EA%B0%9C%EB%B0%9C%EA%B8%B0%EB%A1%9D-2-%EA%B5%AC%ED%98%84-%EB%B0%A9%EB%B2%95-%EB%AA%A8%EC%83%89%ED%95%98%EA%B8%B0#entry91comment</comments>
      <pubDate>Sun, 29 Jan 2023 04:10:54 +0900</pubDate>
    </item>
    <item>
      <title>[gksdudConverter] 한영타 변환기 개발기록 1 : 개발 이유와 구현 방법 떠올리기</title>
      <link>https://xively.tistory.com/entry/gksdudConverter-%ED%95%9C%EC%98%81%ED%83%80-%EB%B3%80%ED%99%98%EA%B8%B0-%EA%B0%9C%EB%B0%9C%EA%B8%B0%EB%A1%9D-1-%EA%B0%9C%EB%B0%9C-%EC%9D%B4%EC%9C%A0%EC%99%80-%EA%B5%AC%ED%98%84-%EB%B0%A9%EB%B2%95-%EB%96%A0%EC%98%AC%EB%A6%AC%EA%B8%B0</link>
      <description>&lt;blockquote data-ke-style=&quot;style2&quot;&gt;목차&lt;br /&gt;&lt;a title=&quot;1 : 개발 이유와 구현 방법 떠올리기&quot; href=&quot;https://xively.tistory.com/entry/gksdudConverter-%ED%95%9C%EC%98%81%ED%83%80-%EB%B3%80%ED%99%98%EA%B8%B0-%EA%B0%9C%EB%B0%9C%EA%B8%B0%EB%A1%9D-1-%EA%B0%9C%EB%B0%9C-%EC%9D%B4%EC%9C%A0%EC%99%80-%EA%B5%AC%ED%98%84-%EB%B0%A9%EB%B2%95-%EB%96%A0%EC%98%AC%EB%A6%AC%EA%B8%B0&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;1 : 개발 이유와 구현 방법 떠올리기&lt;/a&gt; (현재)&lt;br /&gt;&lt;a title=&quot;2 : 구현 방법 모색하기&quot; href=&quot;https://xively.tistory.com/entry/gksdudConverter-%ED%95%9C%EC%98%81%ED%83%80-%EB%B3%80%ED%99%98%EA%B8%B0-%EA%B0%9C%EB%B0%9C%EA%B8%B0%EB%A1%9D-2-%EA%B5%AC%ED%98%84-%EB%B0%A9%EB%B2%95-%EB%AA%A8%EC%83%89%ED%95%98%EA%B8%B0&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2 : 구현 방법 모색하기&lt;/a&gt;&lt;/blockquote&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;개발 이유&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가끔 한글로 써야하는데 영타로 쓰는 경우가 허다했다. e.g) 글 쓸 때 or 검색 창에 뭐 검색할 때&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아무 생각없이 적었는데 한/영을 바꾸지 않아서 지우고 다시 적는 것이 너무 불편해서 웹 확장자로 제공해보고자 마음먹었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지금은 웨일 스토어나 크롬에 등록하는 것이 목표이고, 웨않되 맞춤법 검사기 처럼 실시간으로 검사 및 변환이 이루어지게 하는 것이 최종 목표이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;안된다면 api형태라도 제공하고자 한다...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;구현&amp;nbsp;방법&amp;nbsp;떠올리기&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처음 생각한 방식은 유니코드를 이용해 변환하는 것이였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를들어 &quot;한&quot;이라는 글자가 있다면 한에 대한 유니코드가 있을 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;0xd55c&quot; 라는 값에 매칭되는 영타자는 정해져있기 때문에 이를 매칭하면 된다고 생각했었다.&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;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. 동일한 자리에 있는 한글 타자와 영어 타자 간의 규칙을 찾지 못했다.&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1674765877269&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;console.log(&quot;ㅎ&quot;.charCodeAt(0).toString(16));
// output: 314e
console.log(&quot;g&quot;.charCodeAt(0).toString(16));
// output: 67

console.log(&quot;ㅏ&quot;.charCodeAt(0).toString(16));
// output: 314f
console.log(&quot;k&quot;.charCodeAt(0).toString(16));
// output: 6b

console.log(&quot;ㄴ&quot;.charCodeAt(0).toString(16));
// output: 3134
console.log(&quot;s&quot;.charCodeAt(0).toString(16));
// output: 73&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ㅎ과 g를 매칭해서 나두고, ㅏ와 k를 매칭해서 키보드에 나둔 이유가 있을 줄 알았는데&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;b&gt;2. 인공적으로 만든 유니코드는 NFD 분해가 되지 않는다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;136&quot; data-origin-height=&quot;40&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bnFaAr/btrXfNYiUBE/ntOTykkD5Fzorue6bHdvy1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bnFaAr/btrXfNYiUBE/ntOTykkD5Fzorue6bHdvy1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bnFaAr/btrXfNYiUBE/ntOTykkD5Fzorue6bHdvy1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbnFaAr%2FbtrXfNYiUBE%2FntOTykkD5Fzorue6bHdvy1%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;136&quot; height=&quot;40&quot; data-origin-width=&quot;136&quot; data-origin-height=&quot;40&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;왼쪽처럼 유니코드를 만들었으나 NFD 변환 함수를 먹여도 변환되지 않았다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;왼쪽이 &quot;한&quot; 글자를 유니코드로 변경한 것이고, / 오른쪽이 NFD함수를 적용한 결과이다.&lt;/p&gt;
&lt;pre id=&quot;code_1674765816474&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;const normalizeNFD = (unicode) =&amp;gt; {
      return unicode.normalize(&quot;NFD&quot;);
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1에서 규칙을 찾지 못해 다시 생각한 것이&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;한&quot;이라는 글자가 있으면 NFD 방식을 이용해 &quot;ㅎ&quot; &quot;ㅏ&quot; &quot;ㄴ&quot; 이렇게 분리한 후 각각의 유니코드에 해당하는 영어로 변경해주면 되겠다 생각했었음&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;근데 정상적으로 글자를 NFD방식으로 분해하더라도 결과값이 unicode 값이 아닌 text로 바로 나와서 그것 또한 문제였음&lt;/p&gt;
&lt;pre id=&quot;code_1674929922363&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// 출처: https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/normalize
// 결합된 한글 문자열

// U+D55C: 한(HANGUL SYLLABLE HAN)
// U+AE00: 글(HANGUL SYLLABLE GEUL)
var first = '\uD55C\uAE00';


// 정규형 정준 분해 (NFD)
// 정준 분해 결과 초성, 중성, 종성의 자소분리가 일어납니다.
// 일부 브라우저에서는 결과값 '한글'이 자소분리된 상태로 보여질 수 있습니다.

// U+1112: ᄒ(HANGUL CHOSEONG HIEUH)
// U+1161: ᅡ(HANGUL JUNGSEONG A)
// U+11AB: ᆫ(HANGUL JONGSEONG NIEUN)
// U+1100: ᄀ(HANGUL CHOSEONG KIYEOK)
// U+1173: ᅳ(HANGUL JUNGSEONG EU)
// U+11AF: ᆯ(HANGUL JONGSEONG RIEUL)
var second = first.normalize('NFD'); // '\u1112\u1161\u11AB\u1100\u1173\u11AF'


// 정규형 정준 결합 (NFC)
// 정준 결합 결과 자소분리 되었던 한글이 결합됩니다.

// U+D55C: 한(HANGUL SYLLABLE HAN)
// U+AE00: 글(HANGUL SYLLABLE GEUL)
var third = second.normalize('NFC'); // '\uD55C\uAE00'


console.log(second === third); // 같은 글자처럼 보이지만 false를 출력합니다.&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;mdn에 올라와있는 normalize 예제이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나는 한글이라는 값의 자소 분리가 된&lt;/p&gt;
&lt;pre class=&quot;taggerscript&quot;&gt;&lt;code&gt;\u1112\u1161\u11AB\u1100\u1173\u11AF&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 유니코드 값을 얻고싶었는데 글자 그대로 출력되었다...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지금 생각하면 당연하다. 유니코드 자체가 글을 브라우저에서 읽기 위해 나온 것인데, 글 대신 저 코드 값이 나오면 안되지ㅠㅠ&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;\u&quot;를 기준으로 split 함수를 사용해 결과를 쪼개봐도 별다른 효과가 없었다ㅠㅠ&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;걍 [&quot;한글&quot;] 이렇게 나옴 또륵..&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;pre id=&quot;code_1674927476698&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;	btn.addEventListener(&quot;click&quot;, () =&amp;gt; {
    // 임시로 만든 input 박스 - 한/영 변경할 글을 적음
      let translation_txt = document.querySelector(&quot;#translation_txt&quot;).value;

	// 유니코드로 변경한 후
      let wordUnicode = convertToUnicode(translation_txt);

	// 결과를 result라는 p태그에 넣어줌
      result.innerText = wordUnicode;
    });

// 단어를 받은 다음 한 글자씩 유니코드로 만든 뒤 합친 결과를 반환함
    const convertToUnicode = (word) =&amp;gt; {
      let result = &quot;&quot;;

      for(let i = 0; i &amp;lt; word.length; i++){
        result += letterToUnicode(word.charAt(i));
      }

      return result;
    };

// 한 글자를 0x로 시작하는 유니코드로 만듦
    const letterToUnicode = (letter) =&amp;gt; {
      return `0x${letter.codePointAt(0).toString(16)}`;
    };

// NFD로 유니코드 정규화
    const normalizeNFD = (unicode) =&amp;gt; {
      return unicode.normalize(&quot;NFD&quot;);
    }&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아무튼 생각과 실제 구현의 미일치로 인한 실패 기록은 여기까지!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실제로 어떻게 구현하기로 마음먹었는지에 대한 글은 다음 포스팅으로 넘기기로 했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기 적고 있었는데 넘 길어져서 나눠버림&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;다음글:&amp;nbsp;&lt;a title=&quot; 2 : 구현 방법 모색하기&quot; href=&quot;https://xively.tistory.com/entry/gksdudConverter-%ED%95%9C%EC%98%81%ED%83%80-%EB%B3%80%ED%99%98%EA%B8%B0-%EA%B0%9C%EB%B0%9C%EA%B8%B0%EB%A1%9D-2-%EA%B5%AC%ED%98%84-%EB%B0%A9%EB%B2%95-%EB%AA%A8%EC%83%89%ED%95%98%EA%B8%B0&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2&amp;nbsp;:&amp;nbsp;구현&amp;nbsp;방법&amp;nbsp;모색하기&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;</description>
      <category>Project/gksdud Converter (한영 변환기)</category>
      <author>Jjiveloper</author>
      <guid isPermaLink="true">https://xively.tistory.com/90</guid>
      <comments>https://xively.tistory.com/entry/gksdudConverter-%ED%95%9C%EC%98%81%ED%83%80-%EB%B3%80%ED%99%98%EA%B8%B0-%EA%B0%9C%EB%B0%9C%EA%B8%B0%EB%A1%9D-1-%EA%B0%9C%EB%B0%9C-%EC%9D%B4%EC%9C%A0%EC%99%80-%EA%B5%AC%ED%98%84-%EB%B0%A9%EB%B2%95-%EB%96%A0%EC%98%AC%EB%A6%AC%EA%B8%B0#entry90comment</comments>
      <pubDate>Sun, 29 Jan 2023 03:56:06 +0900</pubDate>
    </item>
    <item>
      <title>java로 여러가지 모양의 별 찍어보기</title>
      <link>https://xively.tistory.com/entry/java%EB%A1%9C-%EC%97%AC%EB%9F%AC%EA%B0%80%EC%A7%80-%EB%AA%A8%EC%96%91%EC%9D%98-%EB%B3%84-%EC%B0%8D%EC%96%B4%EB%B3%B4%EA%B8%B0</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;오른 직각 삼각형&lt;/p&gt;
&lt;pre id=&quot;code_1653975680689&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    int n = Integer.parseInt(br.readLine());

    StringBuilder sb = new StringBuilder();
    for (int i = 0; i &amp;lt; n; i++) {
      sb.append(&quot; &quot;.repeat(n - i - 1));
      for (int j = 0; j &amp;lt; i + 1; j++) {
        sb.append(&quot;*&quot;);
      }
      sb.append(&quot;\n&quot;);
    }
    System.out.println(sb);&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;103&quot; data-origin-height=&quot;135&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/IelIm/btrDERqgvBE/ktEAF5xFIXkVBhLD22Vk9K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/IelIm/btrDERqgvBE/ktEAF5xFIXkVBhLD22Vk9K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/IelIm/btrDERqgvBE/ktEAF5xFIXkVBhLD22Vk9K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FIelIm%2FbtrDERqgvBE%2FktEAF5xFIXkVBhLD22Vk9K%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;103&quot; height=&quot;135&quot; data-origin-width=&quot;103&quot; data-origin-height=&quot;135&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;왼쪽 직각 삼각형&lt;/p&gt;
&lt;pre id=&quot;code_1653975747057&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;    StringBuilder sb1 = new StringBuilder();
    for (int i = n; i &amp;gt; 0; i--) {
      for (int j = 0; j &amp;lt; i; j++) {
        sb1.append(&quot;*&quot;);
      }
      sb1.append(&quot;\n&quot;);
    }
    System.out.println(sb1);

    System.out.println(&quot;____________________&quot;);&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;86&quot; data-origin-height=&quot;137&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wbTKO/btrDEzJ76R4/nKZhCWbhcdfPAZYe9L82K0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wbTKO/btrDEzJ76R4/nKZhCWbhcdfPAZYe9L82K0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wbTKO/btrDEzJ76R4/nKZhCWbhcdfPAZYe9L82K0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwbTKO%2FbtrDEzJ76R4%2FnKZhCWbhcdfPAZYe9L82K0%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;86&quot; height=&quot;137&quot; data-origin-width=&quot;86&quot; data-origin-height=&quot;137&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;마름모꼴&lt;/p&gt;
&lt;pre id=&quot;code_1653975612108&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.io.*;

public class Main {
  public static void main(String[] args) throws IOException {
    StringBuilder sb2 = new StringBuilder();
    for (int i = 0; i &amp;lt; n; i++) { // 0 &amp;gt;&amp;gt; 3
      sb2.append(&quot; &quot;.repeat(n - i - 1));
      for (int j = 0; j &amp;lt; i + 1; j++) {
        sb2.append(&quot;*&quot;);
      }
      sb2.append(&quot;\n&quot;);
    }
    for (int j = n - 1; j &amp;gt; 0; j--) { // 3 &amp;gt;&amp;gt; 0
      sb2.append(&quot; &quot;.repeat(n - j));
      for (int z = 0; z &amp;lt; j; z++) {
        sb2.append(&quot;*&quot;);
      }
      sb2.append(&quot;\n&quot;);
    }
    System.out.print(sb2);
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;95&quot; data-origin-height=&quot;209&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bZsYHU/btrDBL5PjQX/VunsvkvwfyUXCYkYQtDYV0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bZsYHU/btrDBL5PjQX/VunsvkvwfyUXCYkYQtDYV0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bZsYHU/btrDBL5PjQX/VunsvkvwfyUXCYkYQtDYV0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbZsYHU%2FbtrDBL5PjQX%2FVunsvkvwfyUXCYkYQtDYV0%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;95&quot; height=&quot;209&quot; data-origin-width=&quot;95&quot; data-origin-height=&quot;209&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예쁜 마름모&lt;/p&gt;
&lt;pre id=&quot;code_1653976803721&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;StringBuilder sb3 = new StringBuilder();
    for (int i = 0; i &amp;lt; n; i++) { // 0 &amp;gt;&amp;gt; 3
      sb3.append(&quot; &quot;.repeat(n - i - 1));
      for (int j = 0; j &amp;lt; i * 2 + 1; j++) {
        sb3.append(&quot;*&quot;);
      }
      sb3.append(&quot;\n&quot;);
    }

    for (int j = n - 1; j &amp;gt; 0; j--) { // 3 &amp;gt;&amp;gt; 0
      sb3.append(&quot; &quot;.repeat(n - j));
      for (int z = 0; z &amp;lt; j * 2 - 1; z++) {
        sb3.append(&quot;*&quot;);
      }
      sb3.append(&quot;\n&quot;);
    }
    System.out.print(sb3);

    System.out.println(&quot;____________________&quot;);&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;110&quot; data-origin-height=&quot;197&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ncqH9/btrDDrMANvB/fm10gAGPf4ElXqwxR52lC0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ncqH9/btrDDrMANvB/fm10gAGPf4ElXqwxR52lC0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ncqH9/btrDDrMANvB/fm10gAGPf4ElXqwxR52lC0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FncqH9%2FbtrDDrMANvB%2Ffm10gAGPf4ElXqwxR52lC0%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;110&quot; height=&quot;197&quot; data-origin-width=&quot;110&quot; data-origin-height=&quot;197&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;0:&amp;nbsp;o &lt;br /&gt;1:&amp;nbsp;oo &lt;br /&gt;2:&amp;nbsp;ooo &lt;br /&gt;3:&amp;nbsp;oooo &lt;br /&gt;4:&amp;nbsp;ooo 4&amp;nbsp;&amp;gt;3&amp;nbsp;1 &lt;br /&gt;5:&amp;nbsp;oo 5&amp;nbsp;&amp;gt;2&amp;nbsp;3 &lt;br /&gt;6:&amp;nbsp;o 6&amp;nbsp;&amp;gt;1&amp;nbsp;5 &lt;br /&gt;7:&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7 &lt;br /&gt;&lt;br /&gt;--- &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;o&amp;nbsp; 1&amp;nbsp;&amp;gt;&amp;nbsp;3 n-1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;oo&amp;nbsp; 2&amp;nbsp;&amp;gt;&amp;nbsp;2 n-2 &lt;br /&gt;&amp;nbsp;ooo&amp;nbsp; 3&amp;nbsp;&amp;gt;&amp;nbsp;1 n-3 &lt;br /&gt;oooo 4&amp;nbsp;&amp;gt;&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;ooo 3&amp;nbsp;&amp;gt;&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;oo &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;o &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;o &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;oo &lt;br /&gt;&amp;nbsp;&amp;nbsp;ooo &lt;br /&gt;&amp;nbsp;oooo &lt;br /&gt;ooooo &lt;br /&gt;&amp;nbsp;oooo &lt;br /&gt;&amp;nbsp;&amp;nbsp;ooo &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;oo &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;o&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
      <category>Java, Spring, SpringBoot</category>
      <author>Jjiveloper</author>
      <guid isPermaLink="true">https://xively.tistory.com/89</guid>
      <comments>https://xively.tistory.com/entry/java%EB%A1%9C-%EC%97%AC%EB%9F%AC%EA%B0%80%EC%A7%80-%EB%AA%A8%EC%96%91%EC%9D%98-%EB%B3%84-%EC%B0%8D%EC%96%B4%EB%B3%B4%EA%B8%B0#entry89comment</comments>
      <pubDate>Fri, 17 Jun 2022 15:12:27 +0900</pubDate>
    </item>
    <item>
      <title>[백준] 재귀 - (java) 17478번 재귀함수가 뭔가요?</title>
      <link>https://xively.tistory.com/entry/baekjoon-%EC%9E%AC%EA%B7%80-17478%EB%B2%88-%EC%9E%AC%EA%B7%80%ED%95%A8%EC%88%98%EA%B0%80-%EB%AD%94%EA%B0%80%EC%9A%94-java</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;968&quot; data-origin-height=&quot;486&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/y0W8J/btrEX2cQhN3/SOZYHIkkalQ9UU7lBZ8S9K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/y0W8J/btrEX2cQhN3/SOZYHIkkalQ9UU7lBZ8S9K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/y0W8J/btrEX2cQhN3/SOZYHIkkalQ9UU7lBZ8S9K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fy0W8J%2FbtrEX2cQhN3%2FSOZYHIkkalQ9UU7lBZ8S9K%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;968&quot; height=&quot;486&quot; data-origin-width=&quot;968&quot; data-origin-height=&quot;486&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dQiAJO/btrEU17jEV0/KOgKmwkN9DwmV605Ekx271/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dQiAJO/btrEU17jEV0/KOgKmwkN9DwmV605Ekx271/img.png&quot; data-origin-width=&quot;817&quot; data-origin-height=&quot;513&quot; data-is-animation=&quot;false&quot; width=&quot;677&quot; height=&quot;425&quot; style=&quot;width: 56.7704%; margin-right: 10px;&quot; data-widthpercent=&quot;57.44&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dQiAJO/btrEU17jEV0/KOgKmwkN9DwmV605Ekx271/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdQiAJO%2FbtrEU17jEV0%2FKOgKmwkN9DwmV605Ekx271%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;513&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xGvIS/btrEVYicxC4/ru4aQzl0cwmagaLD9cnoc1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xGvIS/btrEVYicxC4/ru4aQzl0cwmagaLD9cnoc1/img.png&quot; data-origin-width=&quot;878&quot; data-origin-height=&quot;744&quot; data-is-animation=&quot;false&quot; width=&quot;687&quot; height=&quot;582&quot; style=&quot;width: 42.0668%;&quot; data-widthpercent=&quot;42.56&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xGvIS/btrEVYicxC4/ru4aQzl0cwmagaLD9cnoc1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxGvIS%2FbtrEVYicxC4%2Fru4aQzl0cwmagaLD9cnoc1%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;878&quot; height=&quot;744&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;제출1&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;머리가 안돌아가서 for 반복문을 이용하여 풀어봤다.&lt;/p&gt;
&lt;pre id=&quot;code_1655356270221&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.io.*;

public class Main {
  public static void main(String[] args) throws IOException {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    System.out.print(recursiveQuestion(Integer.parseInt(br.readLine())));
  }

  static String recursiveQuestion(int depth) {
    StringBuilder sb = new StringBuilder();
    sb.append(&quot;어느 한 컴퓨터공학과 학생이 유명한 교수님을 찾아가 물었다.\n&quot;);
    for (int i = 0; i &amp;lt; depth; i++) {
      sb.append(repeat(i));
      if (i == depth - 1)
        sb.append(&quot;____&quot;.repeat(i + 1)).append(&quot;\&quot;재귀함수가 뭔가요?\&quot;\n&quot;).append(&quot;____&quot;.repeat(i + 1)).append(&quot;\&quot;재귀함수는 자기 자신을 호출하는 함수라네\&quot;\n&quot;);
    }
    for (int j = depth; 0 &amp;lt;= j; j--) {
      sb.append(answer(j));
    }

    return sb.toString();
  }

  static String repeat(int depth) {
    return &quot;____&quot;.repeat(depth) + &quot;\&quot;재귀함수가 뭔가요?\&quot;\n&quot; +
        &quot;____&quot;.repeat(depth) + &quot;\&quot;잘 들어보게. 옛날옛날 한 산 꼭대기에 이세상 모든 지식을 통달한 선인이 있었어.\n&quot; +
        &quot;____&quot;.repeat(depth) + &quot;마을 사람들은 모두 그 선인에게 수많은 질문을 했고, 모두 지혜롭게 대답해 주었지.\n&quot; +
        &quot;____&quot;.repeat(depth) + &quot;그의 답은 대부분 옳았다고 하네. 그런데 어느 날, 그 선인에게 한 선비가 찾아와서 물었어.\&quot;\n&quot;;
  }

  static String answer(int depth) {
    return &quot;____&quot;.repeat(depth) + &quot;라고 답변하였지.\n&quot;;
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;729&quot; data-origin-height=&quot;58&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b9qRji/btrEX1rspTC/r6tsPvKGv3WKnKENPhlY20/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b9qRji/btrEX1rspTC/r6tsPvKGv3WKnKENPhlY20/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b9qRji/btrEX1rspTC/r6tsPvKGv3WKnKENPhlY20/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb9qRji%2FbtrEX1rspTC%2Fr6tsPvKGv3WKnKENPhlY20%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;58&quot; data-origin-width=&quot;729&quot; data-origin-height=&quot;58&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style8&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;풀이&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;869&quot; data-origin-height=&quot;515&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cnGNcW/btrEXje7MG9/0hAf1utnSjb6FDVHngnXG0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cnGNcW/btrEXje7MG9/0hAf1utnSjb6FDVHngnXG0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cnGNcW/btrEXje7MG9/0hAf1utnSjb6FDVHngnXG0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcnGNcW%2FbtrEXje7MG9%2F0hAf1utnSjb6FDVHngnXG0%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;869&quot; height=&quot;515&quot; data-origin-width=&quot;869&quot; data-origin-height=&quot;515&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;for문으로 찾기 위해 규칙을 찾아보았다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;1. &quot;재귀함수가 뭔가요 ~ 선비가 찾아와서 물었어&quot;는 n번(입력 된 수, 이하 depth)만큼 반복된다.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;405&quot; data-origin-height=&quot;118&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Ju8SW/btrEX16aeFw/kKKLhTlyXYBESdboKTtN31/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Ju8SW/btrEX16aeFw/kKKLhTlyXYBESdboKTtN31/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Ju8SW/btrEX16aeFw/kKKLhTlyXYBESdboKTtN31/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJu8SW%2FbtrEX16aeFw%2FkKKLhTlyXYBESdboKTtN31%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;405&quot; height=&quot;118&quot; data-origin-width=&quot;405&quot; data-origin-height=&quot;118&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;언더바가 점점 증가하므로 i는 0부터 depth - 1 까지 실행한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;depth -1 까지 실행하는 이유는, i가 depth와 동일할 때는 반복이 아닌, 답변을 해주어야하므로 depth번만 돌리게끔 설정했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;2. 반복된 횟수가 n과 동일할 때 답변을 출력해야한다. ex) 초록 네모&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;3. 1~2를 마치고 나면 &quot;라고 답변하였지.&quot;를 depth+1번 출력한다.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;286&quot; data-origin-height=&quot;72&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dbQJEw/btrETTor6Sl/JiO6kObD52jpDEIW6nfIpK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dbQJEw/btrETTor6Sl/JiO6kObD52jpDEIW6nfIpK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dbQJEw/btrETTor6Sl/JiO6kObD52jpDEIW6nfIpK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdbQJEw%2FbtrETTor6Sl%2FJiO6kObD52jpDEIW6nfIpK%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;286&quot; height=&quot;72&quot; data-origin-width=&quot;286&quot; data-origin-height=&quot;72&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;답변은 언더바의 개수가 점점 줄어들기 때문에 depth에서 0까지 반복한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;4. 문장 앞의 &quot;____&quot; 언더바는 해당 depth만큼 반복되어서 출력되어야 한다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp; &amp;nbsp; ex) depth가 0일 때 언더바 미출력, 1일 때 &quot;____&quot; 4번, 2일 때 &quot;________&quot; 8번&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;169&quot; data-origin-height=&quot;31&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cPUIyK/btrEVYWVL64/JfRtO0IPLt5KRK5XxgyTm0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cPUIyK/btrEVYWVL64/JfRtO0IPLt5KRK5XxgyTm0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cPUIyK/btrEVYWVL64/JfRtO0IPLt5KRK5XxgyTm0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcPUIyK%2FbtrEVYWVL64%2FJfRtO0IPLt5KRK5XxgyTm0%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;169&quot; height=&quot;31&quot; data-origin-width=&quot;169&quot; data-origin-height=&quot;31&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp;그러므로 Java String.repeat(반복횟수) 메서드를 통해 언더바를 depth만큼 반복해 출력한다.&lt;/b&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;제출2&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;재귀 카테고리에 걸맞게 재귀함수로 풀어봤다.&lt;/p&gt;
&lt;pre id=&quot;code_1655356318437&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.io.*;

public class Main {
  public static void main(String[] args) throws IOException {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    int depth = Integer.parseInt(br.readLine());
    System.out.print(questionRecursive(depth, 0));
  }

  static String questionRecursive(int depth, int index) {
    String depthUnderBar = &quot;____&quot;.repeat(index);
    String answer = depthUnderBar + &quot;\&quot;재귀함수는 자기 자신을 호출하는 함수라네\&quot;\n&quot;;
    String repeat =
        depthUnderBar + &quot;\&quot;잘 들어보게. 옛날옛날 한 산 꼭대기에 이세상 모든 지식을 통달한 선인이 있었어.\n&quot; +
            depthUnderBar + &quot;마을 사람들은 모두 그 선인에게 수많은 질문을 했고, 모두 지혜롭게 대답해 주었지.\n&quot; +
            depthUnderBar + &quot;그의 답은 대부분 옳았다고 하네. 그런데 어느 날, 그 선인에게 한 선비가 찾아와서 물었어.\&quot;\n&quot;;

    return (index == 0 ? &quot;어느 한 컴퓨터공학과 학생이 유명한 교수님을 찾아가 물었다.\n&quot; : &quot;&quot;) +
        depthUnderBar + &quot;\&quot;재귀함수가 뭔가요?\&quot;\n&quot; +
        ((index == depth) ? answer : repeat + questionRecursive(depth, index + 1)) +
        depthUnderBar + &quot;라고 답변하였지.\n&quot;;
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;728&quot; data-origin-height=&quot;70&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/yWt60/btrEWp7HI06/2N27Dj4SB9Xo3PbuUKF3v0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/yWt60/btrEWp7HI06/2N27Dj4SB9Xo3PbuUKF3v0/img.png&quot; data-alt=&quot;띠용 재귀를 잘못 짠건지 for보다 느리네. 재귀가 for보다 모든 경우에서 더 좋다고 할 수 없으니...&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/yWt60/btrEWp7HI06/2N27Dj4SB9Xo3PbuUKF3v0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FyWt60%2FbtrEWp7HI06%2F2N27Dj4SB9Xo3PbuUKF3v0%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;70&quot; data-origin-width=&quot;728&quot; data-origin-height=&quot;70&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;띠용 재귀를 잘못 짠건지 for보다 느리네. 재귀가 for보다 모든 경우에서 더 좋다고 할 수 없으니...&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;풀이&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Screenshot_3.png&quot; data-origin-width=&quot;905&quot; data-origin-height=&quot;575&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bwiFlE/btrEV0f09tO/O9VkdxvBUpv3cIwxhNL49K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bwiFlE/btrEV0f09tO/O9VkdxvBUpv3cIwxhNL49K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bwiFlE/btrEV0f09tO/O9VkdxvBUpv3cIwxhNL49K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbwiFlE%2FbtrEV0f09tO%2FO9VkdxvBUpv3cIwxhNL49K%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;905&quot; height=&quot;575&quot; data-filename=&quot;Screenshot_3.png&quot; data-origin-width=&quot;905&quot; data-origin-height=&quot;575&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;재귀스럽게(?) 규칙을 찾아보면&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;1. 처음에는 &quot;어느 한&amp;nbsp; 컴공 ~ 교수님 찾아가 물었다.&quot;가 출력된다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;2. &quot;재귀함수가 뭔가요 ~ 선비가 찾아와서 물었어&quot;&amp;nbsp;와 &quot;라고 답변하였지&quot; 사이 해당 문장이 반복되어 들어간다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;3. 반복된 횟수가 n보다 1 많을 때 (n = 2일때, 3번 반복되어야함_ 위 사진의 네모 번호 참고)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;445&quot; data-origin-height=&quot;127&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cScumB/btrEU3jSbLd/C1A8P0DBZk9Av0JM0fL1Dk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cScumB/btrEU3jSbLd/C1A8P0DBZk9Av0JM0fL1Dk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cScumB/btrEU3jSbLd/C1A8P0DBZk9Av0JM0fL1Dk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcScumB%2FbtrEU3jSbLd%2FC1A8P0DBZk9Av0JM0fL1Dk%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;445&quot; height=&quot;127&quot; data-origin-width=&quot;445&quot; data-origin-height=&quot;127&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&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;depth는 입력받은 n이다. 얼만큼의 깊이만큼 반복되어줘야하는 지 비교를 위해 넣었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;제출1에서 푼 for문과 다르게 재귀메서드에 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;이유는, 재귀함수에서 지금 몇번 반복되었는지 알 수가 없기 때문에 비교를 위해 index를 넣어주고,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; (첫 실행인지, n만큼 실행을 했는지 등... for에서 담당하던 i 인덱스가 없기 때문)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;변경시키며 depth와 비교하여 재귀를 진행했다.&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;questionRecursive() 메서드의 return 쪽을 보자.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;612&quot; data-origin-height=&quot;29&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/RmAWq/btrEX1d4Qiy/FKtZqXij8sEDO9pg170cUK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/RmAWq/btrEX1d4Qiy/FKtZqXij8sEDO9pg170cUK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/RmAWq/btrEX1d4Qiy/FKtZqXij8sEDO9pg170cUK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRmAWq%2FbtrEX1d4Qiy%2FFKtZqXij8sEDO9pg170cUK%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;612&quot; height=&quot;29&quot; data-origin-width=&quot;612&quot; data-origin-height=&quot;29&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;제일 처음 실행했다면 index가 0이기 때문에 1번 조건을 출력한다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;605&quot; data-origin-height=&quot;52&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cHj0Ha/btrEYh8OdeY/vyu7yRMGwh574cuQ4tQJ0K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cHj0Ha/btrEYh8OdeY/vyu7yRMGwh574cuQ4tQJ0K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cHj0Ha/btrEYh8OdeY/vyu7yRMGwh574cuQ4tQJ0K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcHj0Ha%2FbtrEYh8OdeY%2Fvyu7yRMGwh574cuQ4tQJ0K%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;605&quot; height=&quot;52&quot; data-origin-width=&quot;605&quot; data-origin-height=&quot;52&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 &quot;재귀함수가 뭔가요&quot;의 질문 다음에&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;실행한 횟수에 따라서 답변이 나올지 or 또 다시 재귀함수를 실행해야하는지 결정해야 되므로 if() 문을 넣어서 조건을 비교했다.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;890&quot; data-origin-height=&quot;268&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cePLS0/btrETRRQxGE/MdRbjJ65hNuW7aUsesFfGK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cePLS0/btrETRRQxGE/MdRbjJ65hNuW7aUsesFfGK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cePLS0/btrETRRQxGE/MdRbjJ65hNuW7aUsesFfGK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcePLS0%2FbtrETRRQxGE%2FMdRbjJ65hNuW7aUsesFfGK%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;681&quot; height=&quot;205&quot; data-origin-width=&quot;890&quot; data-origin-height=&quot;268&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;만약 index가 0이라면 아직 한번만 반복되었으므로, 다시 질문을 하고, 다음 재귀함수를 호출해야한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;index를 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;b&gt;index가 1일이 되고, 또 depth보다 1크지 않으므로, 기존 index 1에 다시 1을 더해서 재귀를 호출한다.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;880&quot; data-origin-height=&quot;186&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bW7y0n/btrEVZayVWO/WHBVisQlUOGaFf9s61KqTk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bW7y0n/btrEVZayVWO/WHBVisQlUOGaFf9s61KqTk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bW7y0n/btrEVZayVWO/WHBVisQlUOGaFf9s61KqTk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbW7y0n%2FbtrEVZayVWO%2FWHBVisQlUOGaFf9s61KqTk%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;661&quot; height=&quot;140&quot; data-origin-width=&quot;880&quot; data-origin-height=&quot;186&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;드디어 index가 2가 되었을 때(3번 반복 되었을 때) depth 2와 동일하므로&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;628&quot; data-origin-height=&quot;34&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Hrkbz/btrETRjWGCB/xsLWRkHdG4553muQI9S5UK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Hrkbz/btrETRjWGCB/xsLWRkHdG4553muQI9S5UK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Hrkbz/btrETRjWGCB/xsLWRkHdG4553muQI9S5UK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHrkbz%2FbtrETRjWGCB%2FxsLWRkHdG4553muQI9S5UK%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;31&quot; data-origin-width=&quot;628&quot; data-origin-height=&quot;34&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;드디어 선인이 답변을 해주고 재귀를 부르지 않는다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기존에 불렀던 칭구들에게 return되면 예제에 맞게 출력된다....&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;출처: &lt;a href=&quot;https://www.acmicpc.net/problem/17478&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.acmicpc.net/problem/17478&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1655356254233&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;17478번: 재귀함수가 뭔가요?&quot; data-og-description=&quot;평소에 질문을 잘 받아주기로 유명한 중앙대학교의&amp;nbsp;JH 교수님은&amp;nbsp;학생들로부터 재귀함수가 무엇인지에 대하여 많은 질문을 받아왔다. 매번 질문을 잘 받아주셨던 JH 교수님이지만 그는 중앙대&quot; data-og-host=&quot;www.acmicpc.net&quot; data-og-source-url=&quot;https://www.acmicpc.net/problem/17478&quot; data-og-url=&quot;https://www.acmicpc.net/problem/17478&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/sKs1q/hyOMRe38KH/nvgEKTMdWZ00apg18Ss2cK/img.png?width=2834&amp;amp;height=1480&amp;amp;face=0_0_2834_1480&quot;&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/17478&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.acmicpc.net/problem/17478&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/sKs1q/hyOMRe38KH/nvgEKTMdWZ00apg18Ss2cK/img.png?width=2834&amp;amp;height=1480&amp;amp;face=0_0_2834_1480');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;17478번: 재귀함수가 뭔가요?&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;평소에 질문을 잘 받아주기로 유명한 중앙대학교의&amp;nbsp;JH 교수님은&amp;nbsp;학생들로부터 재귀함수가 무엇인지에 대하여 많은 질문을 받아왔다. 매번 질문을 잘 받아주셨던 JH 교수님이지만 그는 중앙대&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.acmicpc.net&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Algorithms/BaekJoon</category>
      <author>Jjiveloper</author>
      <guid isPermaLink="true">https://xively.tistory.com/88</guid>
      <comments>https://xively.tistory.com/entry/baekjoon-%EC%9E%AC%EA%B7%80-17478%EB%B2%88-%EC%9E%AC%EA%B7%80%ED%95%A8%EC%88%98%EA%B0%80-%EB%AD%94%EA%B0%80%EC%9A%94-java#entry88comment</comments>
      <pubDate>Thu, 16 Jun 2022 14:23:22 +0900</pubDate>
    </item>
    <item>
      <title>[baekjoon] java bufferedReader while 쓸 때 주의할 점</title>
      <link>https://xively.tistory.com/entry/baekjoon-java-bufferedReader-while-%EC%93%B8-%EB%95%8C-%EC%A3%BC%EC%9D%98%ED%95%A0-%EC%A0%90</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;별건 아니고, 백준을 풀다가 이유 모를 런타임 에러가 발생했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;로컬에서 테스트시엔 괜찮았는데 백준에 제출하니까 에러가 발생하길래 원인을 한참 찾았다...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[에러]&lt;/p&gt;
&lt;pre id=&quot;code_1653812070927&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt; BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    String tmp = &quot;&quot;;
    ArrayList&amp;lt;String&amp;gt; input = new ArrayList&amp;lt;&amp;gt;();

    while ((tmp = br.readLine().trim()) != null) {
      input.add(tmp);
    }&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;입력이 개수를 정하지 않고 들어올 때 나는 while문을 통해&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;BuffrededReader로 입력을 한줄 씩 읽고, 해당 값이 null이면 입력을 그만 받아오게 작성하였다.&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;문제는 while 안의 tmp = br.readLine().trim() 문장이였다.&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;pre id=&quot;code_1653812087818&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt; BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    String tmp = &quot;&quot;;
    ArrayList&amp;lt;String&amp;gt; input = new ArrayList&amp;lt;&amp;gt;();

    while ((tmp = br.readLine()) != null) {
      input.add(tmp);
    }&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;trim()을 빼고 진행하면 아무런 문제 없이 잘 작동한다.&lt;/p&gt;</description>
      <category>Algorithms/BaekJoon</category>
      <author>Jjiveloper</author>
      <guid isPermaLink="true">https://xively.tistory.com/87</guid>
      <comments>https://xively.tistory.com/entry/baekjoon-java-bufferedReader-while-%EC%93%B8-%EB%95%8C-%EC%A3%BC%EC%9D%98%ED%95%A0-%EC%A0%90#entry87comment</comments>
      <pubDate>Wed, 15 Jun 2022 15:13:56 +0900</pubDate>
    </item>
    <item>
      <title>[백준] 기본 수학 1 - (Java) 1712번 손익분기점</title>
      <link>https://xively.tistory.com/entry/%EB%B0%B1%EC%A4%80-%EA%B8%B0%EB%B3%B8-%EC%88%98%ED%95%99-1-1712%EB%B2%88-%EC%86%90%EC%9D%B5%EB%B6%84%EA%B8%B0%EC%A0%90-Java</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1156&quot; data-origin-height=&quot;1018&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bYyREz/btrEnMpqokB/egnf8rby4L3iU5Bx2iARWk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bYyREz/btrEnMpqokB/egnf8rby4L3iU5Bx2iARWk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bYyREz/btrEnMpqokB/egnf8rby4L3iU5Bx2iARWk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbYyREz%2FbtrEnMpqokB%2Fegnf8rby4L3iU5Bx2iARWk%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;1156&quot; height=&quot;1018&quot; data-origin-width=&quot;1156&quot; data-origin-height=&quot;1018&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;제출&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1654828558570&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.io.*;
import java.util.StringTokenizer;

public class Main {
  public static void main(String[] args) throws IOException {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    StringTokenizer st = new StringTokenizer(br.readLine());

    int a = Integer.parseInt(st.nextToken());
    int b = Integer.parseInt(st.nextToken());
    int c = Integer.parseInt(st.nextToken());

    int sales1 = (c - (a + b));
    if (0 &amp;lt; sales1) {
      System.out.print(1);
      return;
    }

    int sales2 = (c * 2 - (a + (b * 2)));

    System.out.print(sales1 &amp;lt; sales2 ? (sales1 / (sales1 - sales2)) + 2 : -1);
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;810&quot; data-origin-height=&quot;80&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bwWlBu/btrEqi19bMA/iQfJAuGPRmMaaMAz7pcl8k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bwWlBu/btrEqi19bMA/iQfJAuGPRmMaaMAz7pcl8k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bwWlBu/btrEqi19bMA/iQfJAuGPRmMaaMAz7pcl8k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbwWlBu%2FbtrEqi19bMA%2FiQfJAuGPRmMaaMAz7pcl8k%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;810&quot; height=&quot;80&quot; data-origin-width=&quot;810&quot; data-origin-height=&quot;80&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;규칙 찾기&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1676&quot; data-origin-height=&quot;162&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cpWNVr/btrEoLqsRWw/Mol8uigK5TgFvqX8V4sh8k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cpWNVr/btrEoLqsRWw/Mol8uigK5TgFvqX8V4sh8k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cpWNVr/btrEoLqsRWw/Mol8uigK5TgFvqX8V4sh8k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcpWNVr%2FbtrEoLqsRWw%2FMol8uigK5TgFvqX8V4sh8k%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;1676&quot; height=&quot;162&quot; data-origin-width=&quot;1676&quot; data-origin-height=&quot;162&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1674&quot; data-origin-height=&quot;183&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cu254X/btrEqjzZiZh/hEartLElN8nqykc5NeAw2k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cu254X/btrEqjzZiZh/hEartLElN8nqykc5NeAw2k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cu254X/btrEqjzZiZh/hEartLElN8nqykc5NeAw2k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcu254X%2FbtrEqjzZiZh%2FhEartLElN8nqykc5NeAw2k%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;1674&quot; height=&quot;183&quot; data-origin-width=&quot;1674&quot; data-origin-height=&quot;183&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/Vde5R/btrEpz37N0H/99pkem19vyZoTExZiOgTRk/BOJ%201712%EB%B2%88.xlsx?attach=1&amp;amp;knm=tfile.xlsx&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;BOJ 1712번.xlsx&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.02MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;더 간단한 규칙&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1654828860249&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt; (A / (C - B) + 1)&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;출처: &lt;a href=&quot;https://www.acmicpc.net/problem/1712&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.acmicpc.net/problem/1712&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1654828515658&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;1712번: 손익분기점&quot; data-og-description=&quot;월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 &quot; data-og-host=&quot;www.acmicpc.net&quot; data-og-source-url=&quot;https://www.acmicpc.net/problem/1712&quot; data-og-url=&quot;https://www.acmicpc.net/problem/1712&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/Es2vC/hyOIiwGRid/WykWTWoOkg1LXU8kXuKoIk/img.png?width=2834&amp;amp;height=1480&amp;amp;face=0_0_2834_1480&quot;&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/1712&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.acmicpc.net/problem/1712&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/Es2vC/hyOIiwGRid/WykWTWoOkg1LXU8kXuKoIk/img.png?width=2834&amp;amp;height=1480&amp;amp;face=0_0_2834_1480');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;1712번: 손익분기점&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.acmicpc.net&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;</description>
      <category>Algorithms/BaekJoon</category>
      <author>Jjiveloper</author>
      <guid isPermaLink="true">https://xively.tistory.com/86</guid>
      <comments>https://xively.tistory.com/entry/%EB%B0%B1%EC%A4%80-%EA%B8%B0%EB%B3%B8-%EC%88%98%ED%95%99-1-1712%EB%B2%88-%EC%86%90%EC%9D%B5%EB%B6%84%EA%B8%B0%EC%A0%90-Java#entry86comment</comments>
      <pubDate>Fri, 10 Jun 2022 11:38:33 +0900</pubDate>
    </item>
    <item>
      <title>[백준] 입출력 - (Java) 1000번 A+B &amp;amp;&amp;amp; 1001번 A-B &amp;amp;&amp;amp; 10998번 AxB &amp;amp;&amp;amp; 1008번 A/B</title>
      <link>https://xively.tistory.com/entry/%EB%B0%B1%EC%A4%80-%EC%9E%85%EC%B6%9C%EB%A0%A5-1000%EB%B2%88-AB-1001%EB%B2%88-A-B-10998%EB%B2%88-AxB-1008%EB%B2%88-AB</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;1000번&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;815&quot; data-origin-height=&quot;511&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/1lWET/btrDZuvBOVP/QxqNwpWEdkvOmriv46X4cK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/1lWET/btrDZuvBOVP/QxqNwpWEdkvOmriv46X4cK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/1lWET/btrDZuvBOVP/QxqNwpWEdkvOmriv46X4cK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F1lWET%2FbtrDZuvBOVP%2FQxqNwpWEdkvOmriv46X4cK%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;815&quot; height=&quot;511&quot; data-origin-width=&quot;815&quot; data-origin-height=&quot;511&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;제출&lt;/p&gt;
&lt;pre id=&quot;code_1654407843681&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String[] input = br.readLine().trim().split(&quot;\\s&quot;);

        System.out.println(Integer.parseInt(input[0]) + Integer.parseInt(input[1]));
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;입력 받은 글자를 공백 기준으로 문자열로 자른 뒤&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각 문자열을 int형으로 변환해서 더해줬다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;904&quot; data-origin-height=&quot;70&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/yvUCQ/btrD1gcv0BA/ATCJQQlN9kwI3MtRTtu9yk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/yvUCQ/btrD1gcv0BA/ATCJQQlN9kwI3MtRTtu9yk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/yvUCQ/btrD1gcv0BA/ATCJQQlN9kwI3MtRTtu9yk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FyvUCQ%2FbtrD1gcv0BA%2FATCJQQlN9kwI3MtRTtu9yk%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;904&quot; height=&quot;70&quot; data-origin-width=&quot;904&quot; data-origin-height=&quot;70&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;출처: &lt;a href=&quot;https://www.acmicpc.net/problem/1000&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.acmicpc.net/problem/1000&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1654407869390&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;1000번: A+B&quot; data-og-description=&quot;두 정수 A와 B를 입력받은 다음,&amp;nbsp;A+B를 출력하는 프로그램을 작성하시오.&quot; data-og-host=&quot;www.acmicpc.net&quot; data-og-source-url=&quot;https://www.acmicpc.net/problem/1000&quot; data-og-url=&quot;https://www.acmicpc.net/problem/1000&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/MBLJU/hyOEaGnTjK/AcaBh9ZSH48gwr0gfNQBoK/img.png?width=2834&amp;amp;height=1480&amp;amp;face=0_0_2834_1480&quot;&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/1000&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.acmicpc.net/problem/1000&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/MBLJU/hyOEaGnTjK/AcaBh9ZSH48gwr0gfNQBoK/img.png?width=2834&amp;amp;height=1480&amp;amp;face=0_0_2834_1480');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;1000번: A+B&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;두 정수 A와 B를 입력받은 다음,&amp;nbsp;A+B를 출력하는 프로그램을 작성하시오.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.acmicpc.net&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1001번&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;820&quot; data-origin-height=&quot;512&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bW4rkQ/btrD0sqKMza/5XdunqcLhWI83AAklF92U1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bW4rkQ/btrD0sqKMza/5XdunqcLhWI83AAklF92U1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bW4rkQ/btrD0sqKMza/5XdunqcLhWI83AAklF92U1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbW4rkQ%2FbtrD0sqKMza%2F5XdunqcLhWI83AAklF92U1%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;820&quot; height=&quot;512&quot; data-origin-width=&quot;820&quot; data-origin-height=&quot;512&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;제출&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1654407958990&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String[] input = br.readLine().trim().split(&quot;\\s&quot;);
        System.out.println(Integer.parseInt(input[0]) - Integer.parseInt(input[1]));
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;입력 받은 글자를 공백 기준으로 문자열로 자른 뒤&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각 문자열을 int형으로 변환해서 빼줬다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;81&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/6UscE/btrDYLj2azy/Nrs8IxQZzRqZYVROxkdNtk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/6UscE/btrDYLj2azy/Nrs8IxQZzRqZYVROxkdNtk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/6UscE/btrDYLj2azy/Nrs8IxQZzRqZYVROxkdNtk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6UscE%2FbtrDYLj2azy%2FNrs8IxQZzRqZYVROxkdNtk%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;900&quot; height=&quot;81&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;81&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;출처: &lt;a href=&quot;https://www.acmicpc.net/problem/1001&quot;&gt;https://www.acmicpc.net/problem/1001&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1654408021565&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;1001번: A-B&quot; data-og-description=&quot;두 정수 A와 B를 입력받은 다음, A-B를 출력하는 프로그램을 작성하시오.&quot; data-og-host=&quot;www.acmicpc.net&quot; data-og-source-url=&quot;https://www.acmicpc.net/problem/1001&quot; data-og-url=&quot;https://www.acmicpc.net/problem/1001&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/skWBI/hyOFwOz8Bi/HgOlv3YCm1BK26gvKsiJpk/img.png?width=2834&amp;amp;height=1480&amp;amp;face=0_0_2834_1480&quot;&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/1001&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.acmicpc.net/problem/1001&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/skWBI/hyOFwOz8Bi/HgOlv3YCm1BK26gvKsiJpk/img.png?width=2834&amp;amp;height=1480&amp;amp;face=0_0_2834_1480');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;1001번: A-B&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;두 정수 A와 B를 입력받은 다음, A-B를 출력하는 프로그램을 작성하시오.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.acmicpc.net&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;10998번&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;841&quot; data-origin-height=&quot;658&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/T3CN4/btrDXawXuvC/fHVuiZza79khUQuBp6cXbk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/T3CN4/btrDXawXuvC/fHVuiZza79khUQuBp6cXbk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/T3CN4/btrDXawXuvC/fHVuiZza79khUQuBp6cXbk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FT3CN4%2FbtrDXawXuvC%2FfHVuiZza79khUQuBp6cXbk%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;841&quot; height=&quot;658&quot; data-origin-width=&quot;841&quot; data-origin-height=&quot;658&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;제출&lt;/p&gt;
&lt;pre id=&quot;code_1654408747114&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.io.*;

public class Main{
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String[] input = br.readLine().trim().split(&quot;\\s&quot;);
        
        System.out.println(Integer.parseInt(input[0]) * Integer.parseInt(input[1]));
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;입력 받은 글자를 공백 기준으로 문자열로 자른 뒤&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각 문자열을 int형으로 변환해서 곱해줬다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;885&quot; data-origin-height=&quot;76&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/X7TBE/btrD1gQ9evx/6jkNt4AiiKvaiQR2vPt0QK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/X7TBE/btrD1gQ9evx/6jkNt4AiiKvaiQR2vPt0QK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/X7TBE/btrD1gQ9evx/6jkNt4AiiKvaiQR2vPt0QK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FX7TBE%2FbtrD1gQ9evx%2F6jkNt4AiiKvaiQR2vPt0QK%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;885&quot; height=&quot;76&quot; data-origin-width=&quot;885&quot; data-origin-height=&quot;76&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;출처: &lt;a href=&quot;https://www.acmicpc.net/problem/10998&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.acmicpc.net/problem/10998&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1654408716404&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;10998번: A&amp;times;B&quot; data-og-description=&quot;두 정수 A와 B를 입력받은 다음, A&amp;times;B를 출력하는 프로그램을 작성하시오.&quot; data-og-host=&quot;www.acmicpc.net&quot; data-og-source-url=&quot;https://www.acmicpc.net/problem/10998&quot; data-og-url=&quot;https://www.acmicpc.net/problem/10998&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bv3Wvy/hyOEdb2q8q/bfl7pcK55cIBP09qf2KiGk/img.png?width=2834&amp;amp;height=1480&amp;amp;face=0_0_2834_1480&quot;&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/10998&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.acmicpc.net/problem/10998&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bv3Wvy/hyOEdb2q8q/bfl7pcK55cIBP09qf2KiGk/img.png?width=2834&amp;amp;height=1480&amp;amp;face=0_0_2834_1480');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;10998번: A&amp;times;B&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;두 정수 A와 B를 입력받은 다음, A&amp;times;B를 출력하는 프로그램을 작성하시오.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.acmicpc.net&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1008번&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1079&quot; data-origin-height=&quot;681&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/UYiVC/btrDYdOCtFY/TYMKWbWyrWhk3KFkepbGJK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/UYiVC/btrDYdOCtFY/TYMKWbWyrWhk3KFkepbGJK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/UYiVC/btrDYdOCtFY/TYMKWbWyrWhk3KFkepbGJK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FUYiVC%2FbtrDYdOCtFY%2FTYMKWbWyrWhk3KFkepbGJK%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;1079&quot; height=&quot;681&quot; data-origin-width=&quot;1079&quot; data-origin-height=&quot;681&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;제출&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1654408647038&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.io.*;

public class Main{
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String[] input = br.readLine().trim().split(&quot;\\s&quot;);

        System.out.print(Double.parseDouble(input[0]) / Double.parseDouble(input[1]));
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;입력 받은 글자를 공백 기준으로 문자열로 자른 뒤&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각 문자열을 double형으로 변환해서 나눴다.&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;위의 문제들과 다르게 double형으로 변환한 이유는&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. 자리수가 최대 9자리이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; - float형은 정밀도 7자리&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; - double형은 정밀도 15자리&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이기 때문이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;907&quot; data-origin-height=&quot;74&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/laY2z/btrDVMRm3wS/a6KHjQKWPopMmKMhvqfe1k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/laY2z/btrDVMRm3wS/a6KHjQKWPopMmKMhvqfe1k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/laY2z/btrDVMRm3wS/a6KHjQKWPopMmKMhvqfe1k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlaY2z%2FbtrDVMRm3wS%2Fa6KHjQKWPopMmKMhvqfe1k%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;907&quot; height=&quot;74&quot; data-origin-width=&quot;907&quot; data-origin-height=&quot;74&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;(오류) 제출 2&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1654409246255&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.io.*;

public class Main{
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String[] input = br.readLine().trim().split(&quot;\\s&quot;);

        System.out.print(Float.parseFloat(input[0]) / Float.parseFloat(input[1]));
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;float으로 계산 시 틀림&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;894&quot; data-origin-height=&quot;67&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/8ymne/btrDVMqjmLa/Pox2PWtgS1rXrTBFBJs9PK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/8ymne/btrDVMqjmLa/Pox2PWtgS1rXrTBFBJs9PK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/8ymne/btrDVMqjmLa/Pox2PWtgS1rXrTBFBJs9PK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F8ymne%2FbtrDVMqjmLa%2FPox2PWtgS1rXrTBFBJs9PK%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;894&quot; height=&quot;67&quot; data-origin-width=&quot;894&quot; data-origin-height=&quot;67&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;출처: &lt;a href=&quot;https://www.acmicpc.net/problem/1008&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.acmicpc.net/problem/1008&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1654408688423&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;1008번: A/B&quot; data-og-description=&quot;두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오.&quot; data-og-host=&quot;www.acmicpc.net&quot; data-og-source-url=&quot;https://www.acmicpc.net/problem/1008&quot; data-og-url=&quot;https://www.acmicpc.net/problem/1008&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/eCJaU/hyOFvPF47m/ZDTQxxnPcE5X4SSjNTR5A0/img.png?width=2834&amp;amp;height=1480&amp;amp;face=0_0_2834_1480&quot;&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/1008&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.acmicpc.net/problem/1008&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/eCJaU/hyOFvPF47m/ZDTQxxnPcE5X4SSjNTR5A0/img.png?width=2834&amp;amp;height=1480&amp;amp;face=0_0_2834_1480');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;1008번: A/B&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.acmicpc.net&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;</description>
      <category>Algorithms/BaekJoon</category>
      <author>Jjiveloper</author>
      <guid isPermaLink="true">https://xively.tistory.com/85</guid>
      <comments>https://xively.tistory.com/entry/%EB%B0%B1%EC%A4%80-%EC%9E%85%EC%B6%9C%EB%A0%A5-1000%EB%B2%88-AB-1001%EB%B2%88-A-B-10998%EB%B2%88-AxB-1008%EB%B2%88-AB#entry85comment</comments>
      <pubDate>Tue, 7 Jun 2022 00:01:18 +0900</pubDate>
    </item>
    <item>
      <title>[백준] 입출력 - (Java) 10171번 고양이 &amp;amp;&amp;amp; 10172번 개</title>
      <link>https://xively.tistory.com/entry/%EB%B0%B1%EC%A4%80-%EC%9E%85%EC%B6%9C%EB%A0%A5-10171%EB%B2%88-%EA%B3%A0%EC%96%91%EC%9D%B4-10172%EB%B2%88-%EA%B0%9C</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;10171번&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;825&quot; data-origin-height=&quot;588&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/TUAka/btrDYd18AO1/NpDvTzdBImKHlBk3xHt5y0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/TUAka/btrDYd18AO1/NpDvTzdBImKHlBk3xHt5y0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/TUAka/btrDYd18AO1/NpDvTzdBImKHlBk3xHt5y0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FTUAka%2FbtrDYd18AO1%2FNpDvTzdBImKHlBk3xHt5y0%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;825&quot; height=&quot;588&quot; data-origin-width=&quot;825&quot; data-origin-height=&quot;588&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;제출 1&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1654405608728&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;public class Main{
    public static void main(String[] args){
        int maxLength = &quot; )  ( ')&quot;.length();

        String[] cat = {
                &quot;\\    /\\&quot;,
                &quot; )  ( ')&quot;,
                &quot;(  /  )&quot;,
                &quot; \\(__)|&quot;
        };

        for (int i = 0; i &amp;lt; cat.length; i++) {
            System.out.println(String.format(&quot;%-&quot; + maxLength + &quot;s&quot;, cat[i]));
        }
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;902&quot; data-origin-height=&quot;76&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/DhHiN/btrDZIs9NHD/cJcyaJkaUFuyz2nYus7sMK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/DhHiN/btrDZIs9NHD/cJcyaJkaUFuyz2nYus7sMK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/DhHiN/btrDZIs9NHD/cJcyaJkaUFuyz2nYus7sMK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDhHiN%2FbtrDZIs9NHD%2FcJcyaJkaUFuyz2nYus7sMK%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;902&quot; height=&quot;76&quot; data-origin-width=&quot;902&quot; data-origin-height=&quot;76&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;출처: &lt;a href=&quot;https://www.acmicpc.net/problem/10171&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.acmicpc.net/problem/10171&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1654406078552&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;10171번: 고양이&quot; data-og-description=&quot;아래 예제와 같이 고양이를 출력하시오.&quot; data-og-host=&quot;www.acmicpc.net&quot; data-og-source-url=&quot;https://www.acmicpc.net/problem/10171&quot; data-og-url=&quot;https://www.acmicpc.net/problem/10171&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/rZoGz/hyOFx00yNJ/K22nKgzZNkkcFKaJdTvB60/img.png?width=2834&amp;amp;height=1480&amp;amp;face=0_0_2834_1480&quot;&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/10171&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.acmicpc.net/problem/10171&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/rZoGz/hyOFx00yNJ/K22nKgzZNkkcFKaJdTvB60/img.png?width=2834&amp;amp;height=1480&amp;amp;face=0_0_2834_1480');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;10171번: 고양이&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;아래 예제와 같이 고양이를 출력하시오.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.acmicpc.net&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;10172번&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;839&quot; data-origin-height=&quot;617&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bJ5oLQ/btrDZu99oUU/zbfuyj4YRpVAI6KYk1bLY0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bJ5oLQ/btrDZu99oUU/zbfuyj4YRpVAI6KYk1bLY0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bJ5oLQ/btrDZu99oUU/zbfuyj4YRpVAI6KYk1bLY0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbJ5oLQ%2FbtrDZu99oUU%2Fzbfuyj4YRpVAI6KYk1bLY0%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;839&quot; height=&quot;617&quot; data-origin-width=&quot;839&quot; data-origin-height=&quot;617&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;제출 1&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1654405986892&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;public class Main {
  public static void main(String[] args){
    StringBuilder sb = new StringBuilder();
    sb.append(&quot;|\\_/|&quot;).append(&quot;\n&quot;)
        .append(&quot;|q p|   /}&quot;).append(&quot;\n&quot;)
        .append(&quot;( 0 )\&quot;\&quot;\&quot;\\&quot;).append(&quot;\n&quot;)
        .append(&quot;|\&quot;^\&quot;`    |&quot;).append(&quot;\n&quot;)
        .append(&quot;||_/=\\\\__|&quot;);

    System.out.println(sb);
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;887&quot; data-origin-height=&quot;81&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bgJPhT/btrD177sy5w/bksHvOEL6qJfYw2pErGrW1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bgJPhT/btrD177sy5w/bksHvOEL6qJfYw2pErGrW1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bgJPhT/btrD177sy5w/bksHvOEL6qJfYw2pErGrW1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbgJPhT%2FbtrD177sy5w%2FbksHvOEL6qJfYw2pErGrW1%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;887&quot; height=&quot;81&quot; data-origin-width=&quot;887&quot; data-origin-height=&quot;81&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;제출 2&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1654406960757&quot; class=&quot;lsl&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;public class Main {
  public static void main(String[] args){
    StringBuilder sb = new StringBuilder();
        sb.append(&quot;|\\_/|\n&quot; +
              &quot;|q p|   /}\n&quot; +
              &quot;( 0 )\&quot;\&quot;\&quot;\\\n&quot; +
              &quot;|\&quot;^\&quot;`    |\n&quot; +
              &quot;||_/=\\\\__|&quot;);

    System.out.println(sb);
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;893&quot; data-origin-height=&quot;74&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cgtTn3/btrDYLElNvh/2fhFWXjGrTZRuE44fjTTH0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cgtTn3/btrDYLElNvh/2fhFWXjGrTZRuE44fjTTH0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cgtTn3/btrDYLElNvh/2fhFWXjGrTZRuE44fjTTH0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcgtTn3%2FbtrDYLElNvh%2F2fhFWXjGrTZRuE44fjTTH0%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;893&quot; height=&quot;74&quot; data-origin-width=&quot;893&quot; data-origin-height=&quot;74&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;성능: 한번에 다 append &amp;lt; 여러번 append&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;b&gt;제출 3&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1654406024707&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;public class Main {
  public static void main(String[] args){
    System.out.print(
        &quot;|\\_/|\n&quot; +
        &quot;|q p|   /}\n&quot; +
        &quot;( 0 )\&quot;\&quot;\&quot;\\\n&quot; +
        &quot;|\&quot;^\&quot;`    |\n&quot; +
        &quot;||_/=\\\\__|&quot;
    );
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;878&quot; data-origin-height=&quot;85&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tASgh/btrDYfr6ZRB/oeaw1Ty8FaJwPUBvMZfp8K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tASgh/btrDYfr6ZRB/oeaw1Ty8FaJwPUBvMZfp8K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tASgh/btrDYfr6ZRB/oeaw1Ty8FaJwPUBvMZfp8K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtASgh%2FbtrDYfr6ZRB%2Foeaw1Ty8FaJwPUBvMZfp8K%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;878&quot; height=&quot;85&quot; data-origin-width=&quot;878&quot; data-origin-height=&quot;85&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;제출 4&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1654406986275&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;public class Main {
  public static void main(String[] args){
    System.out.println(&quot;|\\_/|&quot;);
    System.out.println(&quot;|q p|   /}&quot;);
    System.out.println(&quot;( 0 )\&quot;\&quot;\&quot;\\&quot;);
    System.out.println(&quot;|\&quot;^\&quot;`    |&quot;);
    System.out.print(&quot;||_/=\\\\__|&quot;);
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;896&quot; data-origin-height=&quot;80&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/S7TTH/btrDWTbY585/SpZnrKVixueKrJfXnceK41/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/S7TTH/btrDWTbY585/SpZnrKVixueKrJfXnceK41/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/S7TTH/btrDWTbY585/SpZnrKVixueKrJfXnceK41/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FS7TTH%2FbtrDWTbY585%2FSpZnrKVixueKrJfXnceK41%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;896&quot; height=&quot;80&quot; data-origin-width=&quot;896&quot; data-origin-height=&quot;80&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;성능: 여러번 println &amp;lt; 한번에 print&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;반복문이 아닌 단일문에서는 StringBuilder보다 일반 print문이 성능이 더 좋은듯...? 넘 미묘한 차이긴 하지만&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;왜 그런지 찾아봤는데 아직 정확한 이유를 찾지 못했다...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;궁금하니 나중에 더 찾아봐야겠다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;출처: &lt;a href=&quot;https://www.acmicpc.net/problem/10172&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.acmicpc.net/problem/10172&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1654406441125&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;10172번: 개&quot; data-og-description=&quot;문제 아래 예제와 같이 개를 출력하시오. 입력 출력 예제 입력 1 복사 예제 출력 1 복사 |\_/| |q p| /} ( 0 )&amp;quot;&amp;quot;&amp;quot;\ |&amp;quot;^&amp;quot;&amp;#96; | ||_/=\\__|...&quot; data-og-host=&quot;www.acmicpc.net&quot; data-og-source-url=&quot;https://www.acmicpc.net/problem/10172&quot; data-og-url=&quot;https://www.acmicpc.net/problem/10172&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/qaYFi/hyOEdiOhc5/waDa9z15oWXZ9L47Ohp3rK/img.png?width=2834&amp;amp;height=1480&amp;amp;face=0_0_2834_1480&quot;&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/10172&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.acmicpc.net/problem/10172&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/qaYFi/hyOEdiOhc5/waDa9z15oWXZ9L47Ohp3rK/img.png?width=2834&amp;amp;height=1480&amp;amp;face=0_0_2834_1480');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;10172번: 개&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;문제 아래 예제와 같이 개를 출력하시오. 입력 출력 예제 입력 1 복사 예제 출력 1 복사 |\_/| |q p| /} ( 0 )&quot;&quot;&quot;\ |&quot;^&quot;` | ||_/=\\__|...&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.acmicpc.net&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Algorithms/BaekJoon</category>
      <author>Jjiveloper</author>
      <guid isPermaLink="true">https://xively.tistory.com/84</guid>
      <comments>https://xively.tistory.com/entry/%EB%B0%B1%EC%A4%80-%EC%9E%85%EC%B6%9C%EB%A0%A5-10171%EB%B2%88-%EA%B3%A0%EC%96%91%EC%9D%B4-10172%EB%B2%88-%EA%B0%9C#entry84comment</comments>
      <pubDate>Mon, 6 Jun 2022 00:05:10 +0900</pubDate>
    </item>
  </channel>
</rss>