<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>개 친 바</title>
    <link>https://webd.tistory.com/</link>
    <description>퍼블리셔의 [개발이랑 친해지길 바라] 프로젝트  </description>
    <language>ko</language>
    <pubDate>Wed, 17 Jun 2026 14:49:21 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>안댕이</managingEditor>
    <image>
      <title>개 친 바</title>
      <url>https://tistory1.daumcdn.net/tistory/5084381/attach/b421ee106ae64c079680106f45c0ba12</url>
      <link>https://webd.tistory.com</link>
    </image>
    <item>
      <title>[HTML] 노마드코더 코코아톡 클론코딩 1일차</title>
      <link>https://webd.tistory.com/182</link>
      <description>&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;SASS를 공부하려고 했다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이전에 노마드코더에서 바닐라 JS 강의를 재밌게 들었던 기억이 있어서 들어가서 강의를 보는데,&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;SASS를 시작하기 전에 &lt;i&gt;HTML, CSS부터 복습하는 건 어떨까?&lt;/i&gt; 라는 생각이 들었다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;회사에서 쓰는 코드는 생각보다 한정되어 있고, 쓰는 태그만 쓰다보니 (사랑하는 flex)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;다른 태그들에게 소홀해졌기에 복습도 할 겸 강의 들여다보다가 평생수강권 결제해버렸다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;커리큘럼을 보니 거의 아는 내용이었지만, 기초부터 탄탄하게 복습해보자는 생각!!!&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;커리큘럼에 git 강의까지 포함되어 있어서 이 강의로 선택했다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;또한 2주 챌린지로 14일동안 매일매일 과제 12개를 해내야한다. 2번 이상 결석 시 가차없이 탈락...&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;퇴근하고 집에서 공부하기 쉽지 않았는데, 강제성이 필요할 것 같아서 챌린지도 신청했다!!!&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;챌린지 시작하기 전까지 강의 다 들어야지.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;(9/9 - 9/23)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;  시맨틱 태그&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;시맨틱 태그 : HTML5에서 도입된 태그들로, 웹 페이지의 구조와 의미를 명확하게 나타내기 위해 사용&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;code&gt;&amp;lt;header&amp;gt;&lt;/code&gt; 머리말. 로고, 내비게이션 메뉴, 사이트 제목 등&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;code&gt;&amp;lt;nav&amp;gt;&lt;/code&gt; 내비게이션 링크&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;code&gt;&amp;lt;main&amp;gt;&lt;/code&gt; 문서의 주요 컨텐츠, 문서의 핵심 내용&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;code&gt;&amp;lt;section&amp;gt;&lt;/code&gt; 문서의 주요 컨텐츠 영역 내에서 특정 주제, 기능을 구분. 일반적으로 각각의 제목을 가지며 독립적인 주제&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;code&gt;&amp;lt;article&amp;gt;&lt;/code&gt; 독립적이고 자족적인 컨텐츠. 블로그 포스트, 뉴스기사 등 문서 내에서 개별적으로 의미를 가지는 부분에 사용&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;code&gt;&amp;lt;aside&amp;gt;&lt;/code&gt; 주요 콘텐츠와는 관련이 있지만, 부가적인 정보를 나타냄. 사이드바 등&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;code&gt;&amp;lt;footer&amp;gt;&lt;/code&gt; 바닥글. 저작권 정보, 소셜 링크, 추가적인 내비게이션 링크 등&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;code&gt;&amp;lt;figure&amp;gt;&lt;/code&gt; 이미지, 차트, 다이어그램 등 독립적인 컨텐츠를 포함하는 영역&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;code&gt;&amp;lt;figcaption&amp;gt;&lt;/code&gt; &lt;code&gt;&amp;lt;figuer&amp;gt;&lt;/code&gt; 태그에 포함된 컨텐츠에 대한 설명 제공&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;시맨틱 태그의 장점&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1. 접근성 향상&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2. SEO 개선&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;3. 유지보수 용이성&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt; &lt;span style=&quot;color: #2c2828; text-align: left;&quot;&gt; &lt;/span&gt; 자주 사용하는 태그&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;code&gt;&amp;lt;h1&amp;gt;&lt;/code&gt; ~ &lt;code&gt;&amp;lt;h6&amp;gt;&lt;/code&gt; 제목&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;code&gt;&amp;lt;ol&amp;gt;&lt;/code&gt; (orderd list) 순서가 있는 목록&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;code&gt;&amp;lt;ul&amp;gt;&lt;/code&gt; (unorderd list) 순서가 없는 목록&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;code&gt;&amp;lt;li&amp;gt;&lt;/code&gt; (list item) 목록 요소&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;code&gt;&amp;lt;a&amp;gt;&lt;/code&gt; 앵커 태그, 페이지 연결. href=&quot;이동 경로&quot;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;code&gt;&amp;lt;img&amp;gt;&lt;/code&gt; 이미지, src=&quot;이미지 경로&quot;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;code&gt;&amp;lt;span&amp;gt;&lt;/code&gt; 짧은 텍스트&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;code&gt;&amp;lt;p&amp;gt;&lt;/code&gt; 긴 텍스트, 문단&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;code&gt;&amp;lt;abbr&amp;gt;&lt;/code&gt; 준말/머릿말, title=&quot;설명&quot; 작성 시 마우스 hover하면 출력됨&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;code&gt;&amp;lt;q&amp;gt;&lt;/code&gt; 짧은 인용문&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;code&gt;&amp;lt;blockquote&amp;gt;&lt;/code&gt; 긴 인용문&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;code&gt;&amp;lt;cite&amp;gt;&lt;/code&gt; 인용 출처 &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;code&gt;&amp;lt;code&amp;gt;&lt;/code&gt; 짧은 코드 조각 &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;code&gt;&amp;lt;mark&amp;gt;&lt;/code&gt; 하이라이트&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #2c2828; text-align: left;&quot;&gt; &lt;/span&gt; form 태그&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;code&gt;&amp;lt;form&amp;gt;&lt;/code&gt; HTML에서 사용자 입력을 받아 서버로 전송할 때 사용되는 태그. (코코아 클론코딩에서는 JS를 다루지 않기 때문에 단순 구조만 작성했다.)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;code&gt;&amp;lt;input&amp;gt;&lt;/code&gt; 사용자로부터 데이터를 입력받는 여러 종류의 필드. type 손성에 따라 다양한 입력 필드 생성&lt;/span&gt;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;&lt;code&gt;&amp;lt;input&amp;gt;&lt;/code&gt; type 속성&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;table style=&quot;border-collapse: collapse; width: 75.9284%; height: 346px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 14.496%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;button&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 30.6423%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;기본&amp;nbsp;동작이&amp;nbsp;없는&amp;nbsp;버튼&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 14.496%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;checkbox&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 30.6423%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;단일&amp;nbsp;값을&amp;nbsp;선택/선택&amp;nbsp;취소&amp;nbsp;할&amp;nbsp;수&amp;nbsp;있는&amp;nbsp;체크박스&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 14.496%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;color&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 30.6423%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;컬러팔레트&amp;nbsp;입력&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 14.496%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;date&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 30.6423%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;날짜&amp;nbsp;입력&amp;nbsp;(년,월,일&amp;nbsp;시간x)&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 14.496%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;datetime-local&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 30.6423%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;날짜,&amp;nbsp;시간&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 14.496%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;email&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 30.6423%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이메일&amp;nbsp;입력&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 14.496%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;file&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 30.6423%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;파일&amp;nbsp;선택,&amp;nbsp;(accept로&amp;nbsp;선택할&amp;nbsp;수&amp;nbsp;있는&amp;nbsp;파일&amp;nbsp;유형&amp;nbsp;선택)&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 14.496%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;hidden&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 30.6423%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;표시되지&amp;nbsp;않지만&amp;nbsp;값이&amp;nbsp;서버로&amp;nbsp;제출됨&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 14.496%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;month&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 30.6423%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;년,&amp;nbsp;월&amp;nbsp;입력&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 14.496%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;week&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 30.6423%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;년,&amp;nbsp;주&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 14.496%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;time&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 30.6423%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;시간&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 14.496%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;number&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 30.6423%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;숫자&amp;nbsp;입력&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 14.496%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;password&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 30.6423%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;값이&amp;nbsp;가려진&amp;nbsp;텍스트&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 14.496%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;radio&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 30.6423%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;하나의&amp;nbsp;값을&amp;nbsp;선택할&amp;nbsp;수&amp;nbsp;있는&amp;nbsp;라디오버튼&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 14.496%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;range&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 30.6423%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;범위&amp;nbsp;컨트롤&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 14.496%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;reset&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 30.6423%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;폼의&amp;nbsp;내용&amp;nbsp;리셋&amp;nbsp;(권장하지&amp;nbsp;않음)&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 14.496%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;search&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 30.6423%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;검색. (줄바꿈은 입력값에서 자동으로 제거)&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 14.496%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;submit&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 30.6423%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;양식&amp;nbsp;제출&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 14.496%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;tel&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 30.6423%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;전화번호&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 14.496%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;url&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 30.6423%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;url&amp;nbsp;입력&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 14.496%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;test&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 30.6423%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;기본값 (줄바꿈은 입력값에서 자동으로 제거)&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;code&gt;&amp;lt;textarea&amp;gt;&lt;/code&gt; 여러 줄의 텍스트 입력&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;code&gt;&amp;lt;label&amp;gt;&lt;/code&gt; 입력 필드에 대한 설명(레이블) 제공. 레이블을 클릭하면 해당 입력필드에 포커스 이동&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1723624162692&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;label for=&quot;name&quot;&amp;gt;이름&amp;lt;/label&amp;gt;
&amp;lt;input id=&quot;name&quot; type=&quot;text&quot; /&amp;gt;&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;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;code&gt;&amp;lt;select&amp;gt;&lt;/code&gt; 드롭다운 목록 생성. &lt;code&gt;&amp;lt;option&amp;gt;&lt;/code&gt;과 함께 사용&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1723624306222&quot; class=&quot;xml&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;html&quot;&gt;&lt;code&gt;&amp;lt;label for=&quot;fruit&quot;&amp;gt;favorite fruit&amp;lt;/label&amp;gt;
&amp;lt;select name=&quot;fruit&quot; id=&quot;fruit&quot;&amp;gt;
    &amp;lt;option&amp;gt;apple&amp;lt;/option&amp;gt;
    &amp;lt;option&amp;gt;banana&amp;lt;/option&amp;gt;
    &amp;lt;option&amp;gt;orange&amp;lt;/option&amp;gt;
&amp;lt;/select&amp;gt;&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;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;code&gt;&amp;lt;button&amp;gt;&lt;/code&gt; 클릭 가능한 버튼 생성 type 속성에 따라 제출/리셋/일반 버튼 으로 사용 가능&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;code&gt;&amp;lt;fieldset&amp;gt;&lt;/code&gt; 관련된 입력 필드들을 그룹화하여 폼의 일부로 묶음&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;code&gt;&amp;lt;legend&amp;gt;&lt;/code&gt; &lt;code&gt;&amp;lt;fieldset&amp;gt;&lt;/code&gt;과 함께 사용되어 그룹의 제목 정의&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;code&gt;&amp;lt;output&amp;gt;&lt;/code&gt; 계산 결과나 사용자 입력에 따른 결과 표시&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;니꼬쌤이 알려준 내용 말고도 추가로 몇 개 더 적어서 정리해봤다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&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;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;a title=&quot;html 아이콘&quot; href=&quot;https://www.flaticon.com/kr/free-icons/html&quot;&gt;Html 아이콘 제작자: Freepik - Flaticon&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;a title=&quot;css 아이콘&quot; href=&quot;https://www.flaticon.com/kr/free-icons/css&quot;&gt;Css 아이콘 제작자: Freepik - Flaticon&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;figure id=&quot;og_1698370937245&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;11,072종의 무료 html 아이콘&quot; data-og-description=&quot;SVG, PSD, PNG, EPS 포맷 또는 웹폰트로 제공되는 11,072종 이상의 html 아이콘을 다운로드받으세요. 최대의 무료 아이콘 데이터베이스 - Flaticon.&quot; data-og-host=&quot;www.flaticon.com&quot; data-og-source-url=&quot;https://www.flaticon.com/kr/free-icons/html&quot; data-og-url=&quot;https://www.flaticon.com/kr/free-icons/https%3A%2F%2Fwww.flaticon.com%2Fkr%2Ffree-icons%2Fhtml&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/wRdEe/hyUlukXq0s/dJNQo3QjKasDkTkA8bLP4k/img.jpg?width=2161&amp;amp;height=1217&amp;amp;face=0_0_2161_1217,https://scrap.kakaocdn.net/dn/LaxLp/hyUlsObsQD/eKIq0OrHzszg6TC4Hggcdk/img.jpg?width=2161&amp;amp;height=1217&amp;amp;face=0_0_2161_1217&quot;&gt;&lt;a href=&quot;https://www.flaticon.com/kr/free-icons/html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.flaticon.com/kr/free-icons/html&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/wRdEe/hyUlukXq0s/dJNQo3QjKasDkTkA8bLP4k/img.jpg?width=2161&amp;amp;height=1217&amp;amp;face=0_0_2161_1217,https://scrap.kakaocdn.net/dn/LaxLp/hyUlsObsQD/eKIq0OrHzszg6TC4Hggcdk/img.jpg?width=2161&amp;amp;height=1217&amp;amp;face=0_0_2161_1217');&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;11,072종의 무료 html 아이콘&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;SVG, PSD, PNG, EPS 포맷 또는 웹폰트로 제공되는 11,072종 이상의 html 아이콘을 다운로드받으세요. 최대의 무료 아이콘 데이터베이스 - Flaticon.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.flaticon.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>퍼블리싱/HTML</category>
      <category>HTML</category>
      <category>노마드코더</category>
      <category>시맨틱웹</category>
      <category>코코아톡클론코딩</category>
      <author>안댕이</author>
      <guid isPermaLink="true">https://webd.tistory.com/182</guid>
      <comments>https://webd.tistory.com/182#entry182comment</comments>
      <pubDate>Wed, 14 Aug 2024 17:49:22 +0900</pubDate>
    </item>
    <item>
      <title>[CSS] 동영상 배경 설정하기</title>
      <link>https://webd.tistory.com/181</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;메인페이지 리뉴얼 작업을 하는데, 3개 섹션의 배경을 동영상으로 삽입해야 했다. &lt;br /&gt;&lt;br /&gt;서버에&amp;nbsp;비메오에&amp;nbsp;업로드하고&amp;nbsp;iframe으로&amp;nbsp;불러와&amp;nbsp;사용하는&amp;nbsp;방식으로&amp;nbsp;작업한다. &lt;br /&gt;position을&amp;nbsp;사용해서&amp;nbsp;작성했는데,&amp;nbsp;여백이&amp;nbsp;생기고&amp;nbsp;난리!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;  목표&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;span&gt;다양한 장치의 화면 비율에 맞추어 꽉 차는 배경 동영상 설정하기&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;  HTML&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1722400865755&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;section class=&quot;videoSection&quot;&amp;gt;
	&amp;lt;!-- 텍스트 영역 --&amp;gt;
    &amp;lt;div class=&quot;txtWrap&quot;&amp;gt;
        &amp;lt;p&amp;gt;텍스트&amp;lt;/p&amp;gt;
    &amp;lt;/div&amp;gt;
    &amp;lt;!-- 배경 비디오 --&amp;gt;
    &amp;lt;div class=&quot;videoWrap&quot;&amp;gt;
        &amp;lt;iframe id=&quot;iframe&quot; src=&quot;비메오링크?badge=0&amp;amp;autoplay=1&amp;amp;loop=1&amp;amp;title=0&amp;amp;autopause=0&amp;amp;muted=1&amp;amp;controls=0&quot; width=&quot;100%&quot; height=&quot;100%&quot; frameborder=&quot;0&quot;&amp;gt;&amp;lt;/iframe&amp;gt;
    &amp;lt;/div&amp;gt;
&amp;lt;/section&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;  CSS&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1722400893706&quot; class=&quot;css&quot; data-ke-language=&quot;css&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;.videoSection { position: relative; background: #000; }
.videoSection .txtWrap { position: absolute; top: 50%; left: 100px; transform: translateY(-50%); z-index: 1; color: #fff; }
.videoSection .videoWrap { position: relative; width: 100%; height: 0; padding-top: 44.5%; overflow: hidden; }
.videoSection .videoWrap iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }&lt;/code&gt;&lt;/pre&gt;
&lt;h4 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;여기서 중요한 부분은 .videoSection .videoWrap 요소의 &lt;code&gt;padding-top&lt;/code&gt; 이다. &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;화면&amp;nbsp;크기에&amp;nbsp;맞춰&amp;nbsp;자동으로&amp;nbsp;동영상&amp;nbsp;비율이&amp;nbsp;조절되므로,&amp;nbsp;다양한&amp;nbsp;장치에서도&amp;nbsp;비율이&amp;nbsp;유지된다. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;일반적인&amp;nbsp;16:9&amp;nbsp;비율의&amp;nbsp;동영상(1920*1080)&lt;/b&gt;&amp;nbsp;크기는&amp;nbsp;&lt;code&gt;padding-top:&amp;nbsp;56.25%&lt;/code&gt;가&amp;nbsp;된다. &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;하지만&amp;nbsp;이번에&amp;nbsp;전달받은&amp;nbsp;영상의&amp;nbsp;크기가&amp;nbsp;&lt;b&gt;1920*855&lt;/b&gt;&amp;nbsp;이므로&amp;nbsp;padding-top을&amp;nbsp;조절했다. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;비율&amp;nbsp;=&amp;nbsp;높이&amp;nbsp;/&amp;nbsp;너비&amp;nbsp;=&amp;nbsp;1920&amp;nbsp;/&amp;nbsp;855&amp;nbsp;=&amp;nbsp;0.4453 &lt;/span&gt;&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;구해진 비율을 퍼센트로 변환(x100)하여 &lt;code&gt;padding-top&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #2c2828; text-align: left;&quot;&gt;:&amp;nbsp;44.5%&lt;/span&gt;&lt;/code&gt;&lt;/span&gt; 으로 설정해주면 &lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;어떤&amp;nbsp;장치에서도&amp;nbsp;비율이&amp;nbsp;유지되는&amp;nbsp;동영상&amp;nbsp;배경&amp;nbsp;설정&amp;nbsp;끝~&lt;/span&gt;&lt;/p&gt;
&lt;h4 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&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;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;a title=&quot;html 아이콘&quot; href=&quot;https://www.flaticon.com/kr/free-icons/html&quot;&gt;Html 아이콘 제작자: Freepik - Flaticon&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;a title=&quot;css 아이콘&quot; href=&quot;https://www.flaticon.com/kr/free-icons/css&quot;&gt;Css 아이콘 제작자: Freepik - Flaticon&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;a title=&quot;자바 스크립트 아이콘&quot; href=&quot;https://www.flaticon.com/kr/free-icons/-&quot;&gt;자바 스크립트 아이콘 제작자: Rmpp - Flaticon&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;figure id=&quot;og_1698370937245&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;11,072종의 무료 html 아이콘&quot; data-og-description=&quot;SVG, PSD, PNG, EPS 포맷 또는 웹폰트로 제공되는 11,072종 이상의 html 아이콘을 다운로드받으세요. 최대의 무료 아이콘 데이터베이스 - Flaticon.&quot; data-og-host=&quot;www.flaticon.com&quot; data-og-source-url=&quot;https://www.flaticon.com/kr/free-icons/html&quot; data-og-url=&quot;https://www.flaticon.com/kr/free-icons/https%3A%2F%2Fwww.flaticon.com%2Fkr%2Ffree-icons%2Fhtml&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/wRdEe/hyUlukXq0s/dJNQo3QjKasDkTkA8bLP4k/img.jpg?width=2161&amp;amp;height=1217&amp;amp;face=0_0_2161_1217,https://scrap.kakaocdn.net/dn/LaxLp/hyUlsObsQD/eKIq0OrHzszg6TC4Hggcdk/img.jpg?width=2161&amp;amp;height=1217&amp;amp;face=0_0_2161_1217&quot;&gt;&lt;a href=&quot;https://www.flaticon.com/kr/free-icons/html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.flaticon.com/kr/free-icons/html&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/wRdEe/hyUlukXq0s/dJNQo3QjKasDkTkA8bLP4k/img.jpg?width=2161&amp;amp;height=1217&amp;amp;face=0_0_2161_1217,https://scrap.kakaocdn.net/dn/LaxLp/hyUlsObsQD/eKIq0OrHzszg6TC4Hggcdk/img.jpg?width=2161&amp;amp;height=1217&amp;amp;face=0_0_2161_1217');&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;11,072종의 무료 html 아이콘&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;SVG, PSD, PNG, EPS 포맷 또는 웹폰트로 제공되는 11,072종 이상의 html 아이콘을 다운로드받으세요. 최대의 무료 아이콘 데이터베이스 - Flaticon.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.flaticon.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>퍼블리싱/CSS</category>
      <author>안댕이</author>
      <guid isPermaLink="true">https://webd.tistory.com/181</guid>
      <comments>https://webd.tistory.com/181#entry181comment</comments>
      <pubDate>Wed, 31 Jul 2024 13:46:15 +0900</pubDate>
    </item>
    <item>
      <title>02장. 자바스크립트</title>
      <link>https://webd.tistory.com/180</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;✅ 자바스크립트의 탄생&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1995년,&amp;nbsp;웹페이지의&amp;nbsp;보조적인&amp;nbsp;기능을&amp;nbsp;수행하기&amp;nbsp;위해&amp;nbsp;브렌던&amp;nbsp;아이크가&amp;nbsp;개발했다. &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1996년&amp;nbsp;3월,&amp;nbsp;'모카'&amp;nbsp;넷스케이프&amp;nbsp;내비게이터에&amp;nbsp;탑재 &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&amp;rarr;&amp;nbsp;96년&amp;nbsp;9월&amp;nbsp;'라이브스크립트'&amp;nbsp;변경 &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&amp;rarr; 96년 12월 '자바스크립트' 최종 명명&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;✅&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;자바스크립트의 표준화&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;자바스크립트의&amp;nbsp;파생&amp;nbsp;버전인&amp;nbsp;&quot;JScript&quot;와&amp;nbsp;자바스크립트가&amp;nbsp;표준화되지&amp;nbsp;못하고&amp;nbsp;적당히&amp;nbsp;호환되어&amp;nbsp;크로스&amp;nbsp;브라우징&amp;nbsp;이슈가&amp;nbsp;발생했다. &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;자바스크립트의&amp;nbsp;파편화를&amp;nbsp;방지하고&amp;nbsp;모든&amp;nbsp;브라우저에서&amp;nbsp;정상&amp;nbsp;동작하는&amp;nbsp;표준화된&amp;nbsp;자바스크립트의&amp;nbsp;필요성이&amp;nbsp;되두되었고,&amp;nbsp;1996년&amp;nbsp;11월&amp;nbsp;넷스케이프&amp;nbsp;커뮤니케이션즈는&amp;nbsp;컴퓨터&amp;nbsp;시스템의&amp;nbsp;표준을&amp;nbsp;관리하는&amp;nbsp;ECMA&amp;nbsp;인터내셔널에&amp;nbsp;자바스크립트의&amp;nbsp;표준화를&amp;nbsp;요청했다. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1997년&amp;nbsp;7월,&amp;nbsp;ECMA-262라&amp;nbsp;불리는&amp;nbsp;표준화된&amp;nbsp;자바스크립트&amp;nbsp;초판(ECMAScript&amp;nbsp;1)&amp;nbsp;사양&amp;nbsp;완성 &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&amp;rarr;&amp;nbsp;1999년&amp;nbsp;ECMAScript&amp;nbsp;3(ES3)&amp;nbsp;공개 &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&amp;rarr;&amp;nbsp;2009년&amp;nbsp;ECMAScript&amp;nbsp;5(ES5)&amp;nbsp;출시,&amp;nbsp;HTML5와&amp;nbsp;함께&amp;nbsp;출현한&amp;nbsp;표준&amp;nbsp;사양 &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&amp;rarr;&amp;nbsp;2015년&amp;nbsp;ECMAScript&amp;nbsp;6(ES6)&amp;nbsp;공개,&amp;nbsp;let/const&amp;nbsp;키워드,&amp;nbsp;화살표&amp;nbsp;함수,&amp;nbsp;클래스,&amp;nbsp;모듈&amp;nbsp;등&amp;nbsp;범용&amp;nbsp;프로그래밍&amp;nbsp;언어로서&amp;nbsp;갖춰야할&amp;nbsp;기능을&amp;nbsp;대거&amp;nbsp;도입하는&amp;nbsp;큰&amp;nbsp;변화. &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;ES6 이후의 버전업은 비교적 작은 기능을 추가하는 수준으로 매년 공개할 것으로 예고되었다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;✅&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;자바스크립트 성장의 역사&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1) Ajax(Asynchronous JavaScript and XML)&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1999년,&amp;nbsp;자바스크립트를&amp;nbsp;이용해&amp;nbsp;서버와&amp;nbsp;브라우저&amp;nbsp;비동기&amp;nbsp;방식으로&amp;nbsp;데이터를&amp;nbsp;교환할&amp;nbsp;수&amp;nbsp;있는&amp;nbsp;통신기능인&amp;nbsp;Ajax가&amp;nbsp;XMLHttpRequest라는&amp;nbsp;이름으로&amp;nbsp;등장했다. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이전의 웹페이지는 html로 시작하여 html로 끝나는 완전한 html 코드를 서버로부터 전송받아 웹페이지 전체를 렌더링하는 방식으로 동작했다. &lt;/span&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이러한 방식은 변경할 필요가 없는 부분도 서버로부터 다시 전송받아야 하기 때문에 불필요한 데이터 통신이 발생하고, 성능 면에서도 불리하다. &lt;/span&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이로&amp;nbsp;인해&amp;nbsp;화면이&amp;nbsp;전환되면&amp;nbsp;깜빡이는&amp;nbsp;현상이&amp;nbsp;발생했고,&amp;nbsp;웹페이지의&amp;nbsp;한계로&amp;nbsp;받아들여졌다. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Ajax의 등장 이후, 변경할 필요가 없는 부분은 다시 렌더링하지 않고, 서버로부터 필요한 데이터만 전송받아 변경이 필요한 부분만 한정적으로 렌더링하는 방식이 가능해졌다. &lt;/span&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;웹 브라우저에서도 데스크톱 앱과 유사하게 빠른 성능과 부드러운 화면 전환이 가능해진 것이다.&lt;/span&gt;&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;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2) jQuery&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2006년, jQuery의 등장으로 DOM(Document Object Model)을 더 쉽게 제어할 수 있게 되었고 크로스 브라우징 이슈도 어느정도 해결되었다.&lt;/span&gt;&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;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;3) V8 자바스크립트 엔진&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;자바스크립트가&amp;nbsp;웹&amp;nbsp;애플리케이션&amp;nbsp;프로그래밍&amp;nbsp;언어로서의&amp;nbsp;가능성이&amp;nbsp;확인된&amp;nbsp;이후,&amp;nbsp;자바스크립트로&amp;nbsp;웹&amp;nbsp;어플리케이션을&amp;nbsp;구축하려는&amp;nbsp;시도가&amp;nbsp;늘며&amp;nbsp;빠르게&amp;nbsp;동작하는&amp;nbsp;자바스크립트&amp;nbsp;엔진의&amp;nbsp;필요성이&amp;nbsp;대두되었다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2008년, 구글의 V8 자바스크립트 엔진은 이러한 요구에 부합하는 빠른 성능을 보여주었고, 이 덕분에 자바스크립트는 데스크톱 애플리케이션과 유사한 사용자 경험을 제공할 수 있는 웹 애플리케이션 프로그래밍 언어로 정착하게 되었다.&amp;nbsp;&lt;/span&gt;&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;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;4) Node.js&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2009년,&amp;nbsp;라이언&amp;nbsp;딜이&amp;nbsp;발표한&amp;nbsp;구글&amp;nbsp;V8&amp;nbsp;자바스크립트&amp;nbsp;엔진으로&amp;nbsp;빌드된&amp;nbsp;자바스크립트&amp;nbsp;런타임&amp;nbsp;환경이다. &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Node.js는 브라우저의 자바스크립트 엔진에서만 동작하던 자바스크립트를 브라우저 이외의 환경에서도 동작할 수 있도록 독립시킨 자바스크립트 실행 환경이다. &lt;/span&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;다양한&amp;nbsp;플랫폼에&amp;nbsp;적용할&amp;nbsp;수&amp;nbsp;있지만&amp;nbsp;서버&amp;nbsp;사이드&amp;nbsp;애플리케이션&amp;nbsp;개발에&amp;nbsp;주로&amp;nbsp;사용되며,&amp;nbsp;이에&amp;nbsp;필요한&amp;nbsp;모듈,&amp;nbsp;파일&amp;nbsp;시스템,&amp;nbsp;HTTP등&amp;nbsp;빌트인(내장)&amp;nbsp;API를&amp;nbsp;제공한다. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Node.js는&amp;nbsp;자바스크립트&amp;nbsp;엔진을&amp;nbsp;기반으로&amp;nbsp;하므로&amp;nbsp;Node.js&amp;nbsp;환경에서&amp;nbsp;동작하는&amp;nbsp;애플리케이션은&amp;nbsp;자바스크립트를&amp;nbsp;사용해&amp;nbsp;개발한다. &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;프런트엔드와&amp;nbsp;백엔드&amp;nbsp;영역에서&amp;nbsp;모두&amp;nbsp;자바스크립트를&amp;nbsp;사용할&amp;nbsp;수&amp;nbsp;있다는&amp;nbsp;동형성은&amp;nbsp;별도의&amp;nbsp;언어를&amp;nbsp;학습할&amp;nbsp;시간을&amp;nbsp;덜&amp;nbsp;수&amp;nbsp;있다는&amp;nbsp;장점이&amp;nbsp;있다. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;비동기 I/O를 지원하며, 단일 스레드 이벤트 루프 기반으로 동작함으로써 요청 처리 성능이 좋다. 따라서 Node.js는 데이터를 실시간으로 처리하기 위해 I/O가 빈번하게 발생하는 SPA(Single Page Application)에 적합하다. 하지만 CPU 사용률이 높은 앱에는 권장하지 않는다.&lt;/span&gt;&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;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;5) SPA 프레임워크&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;모던 웹 애플리케이션은 데스크톱 애플리케이션과 비교해도 손색없는 성능과 사용자 경험을 제공하는 것이 필수가 되었고, 개발 규모와 복잡도도 상승했다. &lt;/span&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이로&amp;nbsp;인해,&amp;nbsp;이전의&amp;nbsp;개발&amp;nbsp;방식으로는&amp;nbsp;복잡해진&amp;nbsp;개발&amp;nbsp;과정을&amp;nbsp;수행하기&amp;nbsp;어려워졌고&amp;nbsp;이를&amp;nbsp;보완하기&amp;nbsp;위해&amp;nbsp;많은&amp;nbsp;패턴과&amp;nbsp;라이브러리가&amp;nbsp;출현했다.&amp;nbsp;그&amp;nbsp;덕에&amp;nbsp;많은&amp;nbsp;도움이&amp;nbsp;되었지만&amp;nbsp;변경에&amp;nbsp;유연하면서&amp;nbsp;확장하기&amp;nbsp;쉬운&amp;nbsp;애플리케이션&amp;nbsp;아키텍처의&amp;nbsp;구축이&amp;nbsp;어려웠고,&amp;nbsp;필연적으로&amp;nbsp;프레임워크가&amp;nbsp;등장했다. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이러한 요구에 발맞춰 CBD(Component based development) 방법론을 기반으로 하는 SPA가 대중화 되었다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;✅&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;자바스크립트와 ECMAScript&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;ECMAScript는 자바스크립트의 표준 사양인 ECMA-262를 말하며, 프로그래밍 언어의 값, 타입, 객체와 프로퍼티, 함수, 표준 빌트인 객체 등 핵심 문법을 규정한다. 자바스크립트는 이 모든 걸 아우르는 개념&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;✅&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;자바스크립트의 특징&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;자바스크립트는 웹 브라우저에서 동작하는 유일한 프로그래밍 언어.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;기본&amp;nbsp;문법은&amp;nbsp;C,&amp;nbsp;자바와&amp;nbsp;유사하고,&amp;nbsp;셀프(Self)에서는&amp;nbsp;프로토타입&amp;nbsp;기반&amp;nbsp;상속을,&amp;nbsp;스킴(Scheme)에서는&amp;nbsp;일급&amp;nbsp;함수의&amp;nbsp;개념을&amp;nbsp;차용 &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;자바스크립트는&amp;nbsp;별도의&amp;nbsp;컴파일&amp;nbsp;작업을&amp;nbsp;수행하지&amp;nbsp;않는&amp;nbsp;인터프리터&amp;nbsp;언어(Interpreter&amp;nbsp;language). &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;+&amp;nbsp;인터프리터&amp;nbsp;언어의&amp;nbsp;특징&lt;/b&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1)&amp;nbsp;코드가&amp;nbsp;실행되는&amp;nbsp;단계인&amp;nbsp;런타임에&amp;nbsp;문&amp;nbsp;단위로&amp;nbsp;한&amp;nbsp;줄씩&amp;nbsp;중간&amp;nbsp;코드인&amp;nbsp;바이트코드로&amp;nbsp;변환한&amp;nbsp;후&amp;nbsp;실행 &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2)&amp;nbsp;실행파일을&amp;nbsp;생성하지&amp;nbsp;않음 &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;3)&amp;nbsp;인터프러트&amp;nbsp;단계와&amp;nbsp;실행&amp;nbsp;단계가&amp;nbsp;분리되어&amp;nbsp;있지&amp;nbsp;않음.&amp;nbsp;한&amp;nbsp;줄씩&amp;nbsp;바이트코드로&amp;nbsp;변환하고&amp;nbsp;즉시&amp;nbsp;실행 &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;4)&amp;nbsp;코드가&amp;nbsp;실행될&amp;nbsp;때마다&amp;nbsp;인터프리트&amp;nbsp;과정이&amp;nbsp;반복&amp;nbsp;수행 &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;5)&amp;nbsp;인터프리트&amp;nbsp;단계와&amp;nbsp;실행&amp;nbsp;단계가&amp;nbsp;분리되지&amp;nbsp;않고&amp;nbsp;반복&amp;nbsp;수행되므로&amp;nbsp;코드&amp;nbsp;실행&amp;nbsp;속도가&amp;nbsp;비교적&amp;nbsp;느림 &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;하지만 대부분의 모던 브라우저에서 사용되는 인터프리터는 복잡한 과정을 거치며 일부 소스코드를 컴파일하고 실행한다. 이를 통해 인터프리터 언어의 장점인 동적 기능 지원을 살리며 실행 속도가 느린 단점을 극복한다.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;현재는 컴파일러와 인터프리터의 기술적 구분이 점차 모호해져 가는 추세다. 하지만 자바스크립트는 인터프리터의 도움 없이 실행할 수 없기 때문에 컴파일러 언어라고 할 수 없다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이웅모, 『모던 자바스크립트 Deep Dive』 (위키북스, 2020)&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>모던 자바스크립트 Deep Dive</category>
      <category>모던자바스크립트딥다이브</category>
      <category>자바스크립트</category>
      <author>안댕이</author>
      <guid isPermaLink="true">https://webd.tistory.com/180</guid>
      <comments>https://webd.tistory.com/180#entry180comment</comments>
      <pubDate>Thu, 30 May 2024 10:00:52 +0900</pubDate>
    </item>
    <item>
      <title>01장. 프로그래밍</title>
      <link>https://webd.tistory.com/179</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;프로그래밍:&amp;nbsp;컴퓨터에게&amp;nbsp;실행을&amp;nbsp;요구하는&amp;nbsp;일종의&amp;nbsp;커뮤니케이션 &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&amp;rarr; 0과 1밖에 알지 못하는 기계가 실행할 수 있을 정도로 &lt;b&gt;정확하고, 상세하게 요구사항을 설명&lt;/b&gt;하는 작업&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt; &lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;&amp;rarr;&lt;/span&gt;&amp;nbsp; 그 결과물이 바로 '코드' &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt; &lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt; &lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;&amp;rarr;&lt;/span&gt;&amp;nbsp; &lt;/span&gt;문제 해결 방안을 고려할 때 컴퓨터의 입장에서 바라봐야 함 = Cumputational thinking(컴퓨팅 사고) &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;프로그래밍 언어 : &lt;b&gt;구문(Syntax) + 의미 (Sementics)&lt;/b&gt;, 컴퓨터와의 대화에 사용되는 표현 수단&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;프로그래밍은 &lt;b&gt;요구사항의 집합을 분석하여 적절한 자료구조와 함수의 집합으로 변환한 뒤, 그 흐름을 제어하는 것&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이웅모, 『모던 자바스크립트 Deep Dive』 (위키북스, 2020)&lt;/span&gt;&lt;/blockquote&gt;</description>
      <category>모던 자바스크립트 Deep Dive</category>
      <category>모던자바스크립트딥다이브</category>
      <category>자바스크립트</category>
      <author>안댕이</author>
      <guid isPermaLink="true">https://webd.tistory.com/179</guid>
      <comments>https://webd.tistory.com/179#entry179comment</comments>
      <pubDate>Wed, 29 May 2024 15:52:24 +0900</pubDate>
    </item>
    <item>
      <title>00. 모던 자바스크립트 Deep Dive 공부 시작!</title>
      <link>https://webd.tistory.com/177</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;10월에 사두고 펴보지도 못했던 딥다이브&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이제 활짝 펼치고 공부 시작...&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;머릿말에 적혀있는 명언이 되게 와닿는다.&lt;/span&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;빨리 가는 유일한 방법은 제대로 가는 것이다.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ef6f53; font-family: 'Noto Sans Light';&quot;&gt;로버트 C.마틴. &amp;lt;클린코드&amp;gt;의 저자&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;빙빙 돌다 제자리로 온 지금  &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;960페이지 완독 가보자고~&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>모던 자바스크립트 Deep Dive</category>
      <category>개발자</category>
      <category>공부</category>
      <category>자바스크립트</category>
      <author>안댕이</author>
      <guid isPermaLink="true">https://webd.tistory.com/177</guid>
      <comments>https://webd.tistory.com/177#entry177comment</comments>
      <pubDate>Wed, 29 May 2024 15:30:53 +0900</pubDate>
    </item>
    <item>
      <title>[카카오 이모티콘] 2024년 중간 기록</title>
      <link>https://webd.tistory.com/176</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;웹 퍼블리셔로 근무하며 개발자의 꿈을 꾼지 n년(?)... n개월(?)...&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;물가는 오르고, 내 월급은 그대로이기 때문에 부업 파이프라인을 만들기 위해 노력해보았다!&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;유튜브도 열심히 했으나 투자한 시간 대비 수익은 잘 나지 않는다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;하지만 카카오 이모티콘? 최고다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2022년에 첫 출시한 나의 첫 이모티콘이 지금 2024년까지 꾸준히 치킨 n마리 이상 사먹을 정도의 용돈을 벌어다 준다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;나같은 소작가에게도 이정도 수익이면 감지덕지 해삐해삐&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;그래서 2024년에는 월마다 하나 이상은 제안하자! 다짐했는데 하다보니 더 진심으로 임해버렸다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;24년 5월까지 35건 제안했다! (재제안 포함)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;그래도 절반 이상은 신규 제안이니 20건 정도는 새로 그린 셈&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;꽤나 열심히 했고, 결과도 나쁘지 않다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;전체 제안 78건 | 심사중 1건 | &lt;span style=&quot;color: #006dd7;&quot;&gt;승인 8건&lt;/span&gt; | 미승인 69건&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;열심히 그렸더니 두둑해진 나의 창고&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;미승인도 많이 늘었지만 8개의 이모티콘을 가진 작가가 되었다... 야호  &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;요즘 방통대 과제에도 치이고, 학은제 교양 강의에도 치이고, 회사 업무에도 치이다 보니&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;힐링한답시고 퇴근 후에 이모티콘 작업 하느라 블로그를 방치했었는데 결과는 좋음 하하하&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이제 회사 업무도 살짝 아주 살짝 널널해졌으니 블로그도 열심히 하고, 이모티콘은 짬짬이 그려야지&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;두마리 토끼, 아니 세마리 네마리 다 잡아주겠어&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;많이 벌어와 나의 작품들아... ❤&lt;/span&gt;&lt;/p&gt;</description>
      <category>이모티콘</category>
      <category>이모티콘부업</category>
      <category>이모티콘작가</category>
      <category>카카오이모티콘</category>
      <author>안댕이</author>
      <guid isPermaLink="true">https://webd.tistory.com/176</guid>
      <comments>https://webd.tistory.com/176#entry176comment</comments>
      <pubDate>Tue, 28 May 2024 15:06:02 +0900</pubDate>
    </item>
    <item>
      <title>[Vanilla JS] 버튼을 클릭하면 늘어나는 아코디언 메뉴</title>
      <link>https://webd.tistory.com/175</link>
      <description>&lt;h4 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;  목표&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;버튼을 클릭하면 아래로 길어지는 아코디언 메뉴 구현&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;  HTML&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1716874837518&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;ul class=&quot;accordionMenu&quot;&amp;gt;
  &amp;lt;li&amp;gt;
    &amp;lt;button class=&quot;accordionBtn&quot;&amp;gt;Q. 사용 시간은?&amp;lt;/button&amp;gt;
    &amp;lt;div class=&quot;content&quot;&amp;gt;
      &amp;lt;p&amp;gt;A. 60분 사용 가능합니다.&amp;lt;/p&amp;gt;
    &amp;lt;/div&amp;gt;
  &amp;lt;/li&amp;gt;
  &amp;lt;li&amp;gt;
    &amp;lt;button class=&quot;accordionBtn&quot;&amp;gt;Q. 사용 방법은?&amp;lt;/button&amp;gt;
    &amp;lt;div class=&quot;content&quot;&amp;gt;
      &amp;lt;p&amp;gt;A. 부착하여 사용하시면 됩니다.&amp;lt;/p&amp;gt;
    &amp;lt;/div&amp;gt;
  &amp;lt;/li&amp;gt;
  &amp;lt;li&amp;gt;
    &amp;lt;button class=&quot;accordionBtn&quot;&amp;gt;Q. 몇 회 사용 가능?&amp;lt;/button&amp;gt;
    &amp;lt;div class=&quot;content&quot;&amp;gt;
      &amp;lt;p&amp;gt;A. 1일 1회 사용 가능합니다.&amp;lt;/p&amp;gt;
    &amp;lt;/div&amp;gt;
  &amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;  CSS&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;- transition은 &lt;code&gt;height: auto&lt;/code&gt;에는 먹히지 않는다. &lt;code&gt;max-height&lt;/code&gt;를 활용하는 방법으로 수정 가능하다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1716874848013&quot; class=&quot;css&quot; data-ke-language=&quot;css&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;/* reset */
* { margin: 0; padding: 0; }
button { display: block; border: none; }

/* 기본 세팅 */
.accordionMenu { width: 100vw; height: auto; }
.accordionMenu li { margin-bottom: 10px; }
.accordionMenu li .content p,
.accordionMenu li .accordionBtn { width: 70%; margin: 0 auto; padding: 16px; text-align: left; font-size: 14px; background: #ffe3e3; box-sizing: border-box; cursor: pointer; }

/* 컨텐츠 */
.accordionMenu li .content { height: 0; overflow: hidden; transition: height 0.3s ease; }

/* + 버튼 */
.accordionMenu li .accordionBtn { position: relative; }
.accordionMenu li .accordionBtn::before,
.accordionMenu li .accordionBtn::after { content: ''; position: absolute; top: 25px; right: 10px; display: block; width: 16px; height: 2px; background: #1a1a1a; }
.accordionMenu li .accordionBtn::after { transform: rotate(90deg); transition: transform 0.3s ease; }

/* 활성화 */
.accordionMenu li.active .content { height: 50px; }
.accordionMenu li.active .accordionBtn::after { transform: rotate(0deg); }&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;  JavaScript&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1716874859437&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;document.querySelectorAll('.accordionBtn').forEach(btn =&amp;gt; {
    btn.addEventListener('click', () =&amp;gt; {
        const accordionItem = btn.parentElement;

        accordionItem.classList.toggle('active');
    });
});&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;  결과물&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;&lt;iframe src=&quot;https://codepen.io/AnJunghee/embed/BaeQwmo?default-tab=js%2Cresult&quot; width=&quot;100%&quot; height=&quot;300&quot; frameborder=&quot;no&quot; scrolling=&quot;no&quot; allowfullscreen=&quot;true&quot;&gt;
  See the Pen &lt;a href=&quot;https://codepen.io/AnJunghee/pen/BaeQwmo&quot;&gt;
  Accordion Menu&lt;/a&gt; by AnJunghee (&lt;a href=&quot;https://codepen.io/AnJunghee&quot;&gt;@AnJunghee&lt;/a&gt;)
  on &lt;a href=&quot;https://codepen.io&quot;&gt;CodePen&lt;/a&gt;.
&lt;/iframe&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; 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;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;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;a title=&quot;html 아이콘&quot; href=&quot;https://www.flaticon.com/kr/free-icons/html&quot;&gt;Html 아이콘 제작자: Freepik - Flaticon&lt;/a&gt;&lt;br /&gt;&lt;a title=&quot;css 아이콘&quot; href=&quot;https://www.flaticon.com/kr/free-icons/css&quot;&gt;Css 아이콘 제작자: Freepik - Flaticon&lt;/a&gt;&lt;br /&gt;&lt;a title=&quot;자바 스크립트 아이콘&quot; href=&quot;https://www.flaticon.com/kr/free-icons/-&quot;&gt;자바 스크립트 아이콘 제작자: Rmpp - Flaticon&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;figure id=&quot;og_1698370937245&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;11,072종의 무료 html 아이콘&quot; data-og-description=&quot;SVG, PSD, PNG, EPS 포맷 또는 웹폰트로 제공되는 11,072종 이상의 html 아이콘을 다운로드받으세요. 최대의 무료 아이콘 데이터베이스 - Flaticon.&quot; data-og-host=&quot;www.flaticon.com&quot; data-og-source-url=&quot;https://www.flaticon.com/kr/free-icons/html&quot; data-og-url=&quot;https://www.flaticon.com/kr/free-icons/https%3A%2F%2Fwww.flaticon.com%2Fkr%2Ffree-icons%2Fhtml&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/wRdEe/hyUlukXq0s/dJNQo3QjKasDkTkA8bLP4k/img.jpg?width=2161&amp;amp;height=1217&amp;amp;face=0_0_2161_1217,https://scrap.kakaocdn.net/dn/LaxLp/hyUlsObsQD/eKIq0OrHzszg6TC4Hggcdk/img.jpg?width=2161&amp;amp;height=1217&amp;amp;face=0_0_2161_1217&quot;&gt;&lt;a href=&quot;https://www.flaticon.com/kr/free-icons/html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.flaticon.com/kr/free-icons/html&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/wRdEe/hyUlukXq0s/dJNQo3QjKasDkTkA8bLP4k/img.jpg?width=2161&amp;amp;height=1217&amp;amp;face=0_0_2161_1217,https://scrap.kakaocdn.net/dn/LaxLp/hyUlsObsQD/eKIq0OrHzszg6TC4Hggcdk/img.jpg?width=2161&amp;amp;height=1217&amp;amp;face=0_0_2161_1217');&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;11,072종의 무료 html 아이콘&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;SVG, PSD, PNG, EPS 포맷 또는 웹폰트로 제공되는 11,072종 이상의 html 아이콘을 다운로드받으세요. 최대의 무료 아이콘 데이터베이스 - Flaticon.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.flaticon.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>퍼블리싱/Vanilla JS</category>
      <category>CSS</category>
      <category>HTML</category>
      <category>JavaScript</category>
      <category>vanillajs</category>
      <category>아코디언메뉴</category>
      <category>웹퍼블리싱</category>
      <author>안댕이</author>
      <guid isPermaLink="true">https://webd.tistory.com/175</guid>
      <comments>https://webd.tistory.com/175#entry175comment</comments>
      <pubDate>Tue, 28 May 2024 14:44:22 +0900</pubDate>
    </item>
    <item>
      <title>[Vanilla JS] 스와이퍼 없이 슬라이더 구현하기 (+ play/stop/progress bar)</title>
      <link>https://webd.tistory.com/174</link>
      <description>&lt;h4 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;  목표&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;Swiper.js 없이 바닐라로 무한 슬라이더 구현하기.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;1. 5초동안 하나의 슬라이더를 보여주고, 프로그레스바로 남은 시간 출력&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;2. 정지 버튼을 누르면 프로그레스바가 초기화되고, 자동 슬라이드가 멈춤&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;3. 재생 버튼을 누르면 프로그레스바가 재시작죄고, 자동 슬라이드가 재개됨&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;  HTML&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1716869445866&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;section class=&quot;intro&quot;&amp;gt;
  &amp;lt;div class=&quot;introSlider&quot;&amp;gt;
    &amp;lt;div class=&quot;slideItem&quot;&amp;gt;&amp;lt;/div&amp;gt;
    &amp;lt;div class=&quot;slideItem&quot;&amp;gt;&amp;lt;/div&amp;gt;
    &amp;lt;div class=&quot;slideItem&quot;&amp;gt;&amp;lt;/div&amp;gt;
  &amp;lt;/div&amp;gt;
  &amp;lt;!-- 프로그레스 바 --&amp;gt;
  &amp;lt;div class=&quot;progressBar&quot;&amp;gt;
    &amp;lt;div class=&quot;progress&quot;&amp;gt;&amp;lt;/div&amp;gt;
  &amp;lt;/div&amp;gt;
  &amp;lt;!-- 슬라이더 번호 --&amp;gt;
  &amp;lt;div class=&quot;progressNo&quot;&amp;gt;
    &amp;lt;span&amp;gt;01&amp;lt;/span&amp;gt;
    &amp;lt;span&amp;gt;02&amp;lt;/span&amp;gt;
  &amp;lt;/div&amp;gt;
  &amp;lt;!-- 재생/정지 버튼 --&amp;gt;
  &amp;lt;button class=&quot;progressBtn&quot;&amp;gt;&amp;lt;/button&amp;gt;
&amp;lt;/section&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;  CSS&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1716869455209&quot; class=&quot;css&quot; data-ke-language=&quot;css&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;/* reset */
* { margin: 0; padding: 0; }
button { border: none; }

/* 슬라이더 */
.intro { position: relative; width: 100vw; height: 100vh; padding: 0; overflow: hidden; }
.introSlider { display: flex; width: 100%; height: 100%; padding: 0; transition: transform 0.5s ease; }
.introSlider .slideItem { position: relative; width: 100%; flex-shrink: 0; }

/* 프로그레스 바 */
.intro .progressBar { position: absolute; left: 50%; bottom: 18px; transform: translateX(-50%); width: 35%; background-color: #929292; height: 3px; overflow: hidden; }
.intro .progressBar .progress { height: 100%; background-color: #1a1a1a; width: 0%; transition: width 5s linear; }

/* 슬라이더 번호 */
.intro .progressNo { position: absolute; left: 50%; bottom: 10px; transform: translateX(-50%); display: flex; justify-content: space-between; width: 50%; color: var(--mainTxtColor); }

/* 재생, 정지 버튼 */
.intro .progressBtn { position: absolute; left: 77%; bottom: 10px; width: 20px; height: 20px; color: #fff; background: url('https://blog.kakaocdn.net/dn/mhzTr/btsHFxtZpUK/7fjd1ftrMrzpcA5Y783kJk/img.png') no-repeat; background-size: cover; }
.intro .progressBtn.play { background-image: url('https://blog.kakaocdn.net/dn/ceMqwq/btsHFa6RMzO/iKuw9Q4OCYqqoo3k8lpNck/img.png');  } 


/* 슬라이드 아이템 색상 설정 */
.introSlider .slideItem:nth-child(1) { background: #ffb7b7; }
.introSlider .slideItem:nth-child(2) { background: #b7deff; }
.introSlider .slideItem:nth-child(3) { background: #ecffb7; }&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;  JavaScript&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1716869462609&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;const slides = document.querySelectorAll('.introSlider .slideItem');
const progressBar = document.querySelector('.progress');
const progressNum1 = document.querySelector('.progressNo span:first-child');
const progressNum2 = document.querySelector('.progressNo span:last-child');
const progressBtn = document.querySelector('.progressBtn');
let num = [1, 2];
let currentIndex = 0;
let width = slides[0].clientWidth;
let timer;
let autoSlide = true;

// 슬라이더 숫자 초기화
progressNum1.innerText = `0${num[0]}`;
progressNum2.innerText = `0${num[1]}`;

// 이전 슬라이드
function slideToPrev(){
  num[0] = num[0] == 1 ? 3 : num[0]-1;
  num[1] = num[1] == 1 ? 3 : num[1]-1;
  currentIndex = currentIndex == 0 ? 2: (currentIndex - 1) % slides.length;
  let newTransformValue = -width * currentIndex;
  document.querySelector('.introSlider').style.transform = `translateX(${newTransformValue}px)`;
  progressNum1.innerText = `0${num[0]}`;
  progressNum2.innerText = `0${num[1]}`;
  resetProgressBar();
  if(autoSlide == true)  playProgressBar();
}

// 다음 슬라이드
function slideToNext() {
  num[0] = num[0] == 3 ? 1 : num[0]+1;
  num[1] = num[1] == 3 ? 1 : num[1]+1;
  currentIndex = (currentIndex + 1) % slides.length;
  let newTransformValue = -width * currentIndex;
  document.querySelector('.introSlider').style.transform = `translateX(${newTransformValue}px)`;
  progressNum1.innerText = `0${num[0]}`;
  progressNum2.innerText = `0${num[1]}`;
  resetProgressBar();
  if(autoSlide == true)  playProgressBar();      
}

function resetProgressBar(){     
  progressBar.style.transition = 'none';
  progressBar.style.width = '0%';
}

function playProgressBar(){
  setTimeout(() =&amp;gt; {
    progressBar.style.transition = 'width 5s linear';
    progressBar.style.width = '100%';
  }, 100);
}

// 자동 슬라이드 ON 
function playAutoSlide(){
  timer = setInterval(slideToNext, 5000);
  resetProgressBar();
  playProgressBar();
}

// 자동 슬라이드 OFF
function pauseAutoSlide(){
  clearInterval(timer);
  resetProgressBar();
}

// 자동 슬라이드 on/off
progressBtn.addEventListener('click', function(){
  this.classList.toggle('play'); 
  autoSlide = !autoSlide; // true / false 
  autoSlide == true ? playAutoSlide() : pauseAutoSlide();
})

// 자동 슬라이드 함수 호출
playAutoSlide();

// 드래그      
const slideWrap = document.querySelector('.introSlider');
let dragStartX = 0;
let dragEndX = 0;
slideWrap.addEventListener('touchstart', dragStart);
slideWrap.addEventListener('touchmove', dragMove);
slideWrap.addEventListener('touchend', dragEnd);

// touchstart
function dragStart(e) {
  dragStartX = e.touches[0].clientX;
  if(autoSlide == true) clearInterval(timer); //자동슬라이드 중지
}
// touchmove
function dragMove(e) {
  dragEndX = e.touches[0].clientX;
}
// touchend
function dragEnd(e) {
  let diffX = dragEndX - dragStartX;
  if (diffX &amp;gt; 50) {
    slideToPrev();
  } else if (diffX &amp;lt; -50) {
    slideToNext();
  } 
  if(autoSlide == true) timer = setInterval(slideToNext, 5000); // 자동슬라이드 재시작
}&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;  결과물&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;&lt;iframe src=&quot;https://codepen.io/AnJunghee/embed/PovbKKd?default-tab=html%2Cresult&quot; width=&quot;100%&quot; height=&quot;300&quot; frameborder=&quot;no&quot; scrolling=&quot;no&quot; allowfullscreen=&quot;true&quot;&gt;
  See the Pen &lt;a href=&quot;https://codepen.io/AnJunghee/pen/PovbKKd&quot;&gt;
  vanilla slider&lt;/a&gt; by AnJunghee (&lt;a href=&quot;https://codepen.io/AnJunghee&quot;&gt;@AnJunghee&lt;/a&gt;)
  on &lt;a href=&quot;https://codepen.io&quot;&gt;CodePen&lt;/a&gt;.
&lt;/iframe&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&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;a title=&quot;html 아이콘&quot; href=&quot;https://www.flaticon.com/kr/free-icons/html&quot;&gt;Html 아이콘 제작자: Freepik - Flaticon&lt;/a&gt;&lt;br /&gt;&lt;a title=&quot;css 아이콘&quot; href=&quot;https://www.flaticon.com/kr/free-icons/css&quot;&gt;Css 아이콘 제작자: Freepik - Flaticon&lt;/a&gt;&lt;br /&gt;&lt;a title=&quot;자바 스크립트 아이콘&quot; href=&quot;https://www.flaticon.com/kr/free-icons/-&quot;&gt;자바 스크립트 아이콘 제작자: Rmpp - Flaticon&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;figure id=&quot;og_1698370937245&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;11,072종의 무료 html 아이콘&quot; data-og-description=&quot;SVG, PSD, PNG, EPS 포맷 또는 웹폰트로 제공되는 11,072종 이상의 html 아이콘을 다운로드받으세요. 최대의 무료 아이콘 데이터베이스 - Flaticon.&quot; data-og-host=&quot;www.flaticon.com&quot; data-og-source-url=&quot;https://www.flaticon.com/kr/free-icons/html&quot; data-og-url=&quot;https://www.flaticon.com/kr/free-icons/https%3A%2F%2Fwww.flaticon.com%2Fkr%2Ffree-icons%2Fhtml&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/wRdEe/hyUlukXq0s/dJNQo3QjKasDkTkA8bLP4k/img.jpg?width=2161&amp;amp;height=1217&amp;amp;face=0_0_2161_1217,https://scrap.kakaocdn.net/dn/LaxLp/hyUlsObsQD/eKIq0OrHzszg6TC4Hggcdk/img.jpg?width=2161&amp;amp;height=1217&amp;amp;face=0_0_2161_1217&quot;&gt;&lt;a href=&quot;https://www.flaticon.com/kr/free-icons/html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.flaticon.com/kr/free-icons/html&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/wRdEe/hyUlukXq0s/dJNQo3QjKasDkTkA8bLP4k/img.jpg?width=2161&amp;amp;height=1217&amp;amp;face=0_0_2161_1217,https://scrap.kakaocdn.net/dn/LaxLp/hyUlsObsQD/eKIq0OrHzszg6TC4Hggcdk/img.jpg?width=2161&amp;amp;height=1217&amp;amp;face=0_0_2161_1217');&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;11,072종의 무료 html 아이콘&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;SVG, PSD, PNG, EPS 포맷 또는 웹폰트로 제공되는 11,072종 이상의 html 아이콘을 다운로드받으세요. 최대의 무료 아이콘 데이터베이스 - Flaticon.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.flaticon.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>퍼블리싱/Vanilla JS</category>
      <category>CSS</category>
      <category>HTML</category>
      <category>JavaScript</category>
      <category>vanillajs</category>
      <category>무한루프슬라이더</category>
      <category>웹퍼블리싱</category>
      <category>자동슬라이더</category>
      <author>안댕이</author>
      <guid isPermaLink="true">https://webd.tistory.com/174</guid>
      <comments>https://webd.tistory.com/174#entry174comment</comments>
      <pubDate>Tue, 28 May 2024 13:15:08 +0900</pubDate>
    </item>
    <item>
      <title>1월 회고 + 2월 시작!</title>
      <link>https://webd.tistory.com/172</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;  1월 회고.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;시간이 왜 이렇게 빠르지&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2024년 시작 글 쓴 지 일주일 된 것 같은데 벌써 2월이다&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;작년 12월까지 회사 업무가 널널해서 쉬엄쉬엄 했는데&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이번년도 되자마자 엄청난 업무량...&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;그리고 생각보다 쉽지 않은 방통대 직장병행...&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;그래도 신년 버프로 퇴근하고 공부도 좀 하고, 이모티콘도 그리고, &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;블로그도 쓰고, 유튜브 업로드도 꽤 했다. 나 꽤나 부업에 진심일지도&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이모티콘은 무려 다섯개나 제출했다&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;게다가 하나는 승인  &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1008&quot; data-origin-height=&quot;404&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bnZrIc/btsEiSPLwlK/B3yYtI1DVH7fkttHKc6kok/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bnZrIc/btsEiSPLwlK/B3yYtI1DVH7fkttHKc6kok/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bnZrIc/btsEiSPLwlK/B3yYtI1DVH7fkttHKc6kok/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbnZrIc%2FbtsEiSPLwlK%2FB3yYtI1DVH7fkttHKc6kok%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;400&quot; height=&quot;404&quot; data-origin-width=&quot;1008&quot; data-origin-height=&quot;404&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이번년도는 꾸준히 제출해서 부자가 될 것... &lt;s&gt;(큰 꿈)&lt;/s&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1458&quot; data-origin-height=&quot;506&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d2SK1a/btsEkdMFfDu/vjRrh5hClV7ASxzoZuHBjK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d2SK1a/btsEkdMFfDu/vjRrh5hClV7ASxzoZuHBjK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d2SK1a/btsEkdMFfDu/vjRrh5hClV7ASxzoZuHBjK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd2SK1a%2FbtsEkdMFfDu%2FvjRrh5hClV7ASxzoZuHBjK%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;600&quot; height=&quot;506&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1458&quot; data-origin-height=&quot;506&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;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1월, 영상도 꽤 열심히 올렸더니 유튜브 구독자도 많이 늘었다&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;회사 일보다 부업이 더 즐거운데 정상인가&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;취미지만 열심히 해볼 예정&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;734&quot; data-origin-height=&quot;524&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/2Ff2r/btsEhniNXjP/SCUjuUpqA00KwsM0hJZ5f1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/2Ff2r/btsEhniNXjP/SCUjuUpqA00KwsM0hJZ5f1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/2Ff2r/btsEhniNXjP/SCUjuUpqA00KwsM0hJZ5f1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F2Ff2r%2FbtsEhniNXjP%2FSCUjuUpqA00KwsM0hJZ5f1%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;300&quot; height=&quot;214&quot; data-origin-width=&quot;734&quot; data-origin-height=&quot;524&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;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1월 한 달 동안 꽤 열심히 살았으나 리액트 강의를 완강하지 못했다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;바빴지만 나태했던 나. 반성해&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;아 그리고 다이어트 실패다. 2월부턴 진짜...&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;  2월.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2월 되자마자 등록금 납부 아이고 내 통장&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이제 방통대 3학년 2학기, 작년 한학기 생각보다 힘들었다&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이번에 미리미리 공부해서 좋은 학점 받는 게 목표!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1178&quot; data-origin-height=&quot;438&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bt5fhV/btsEfZI9nz0/BcOf3FdO0jTDYXxKtVIZV0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bt5fhV/btsEfZI9nz0/BcOf3FdO0jTDYXxKtVIZV0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bt5fhV/btsEfZI9nz0/BcOf3FdO0jTDYXxKtVIZV0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbt5fhV%2FbtsEfZI9nz0%2FBcOf3FdO0jTDYXxKtVIZV0%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;600&quot; height=&quot;223&quot; data-origin-width=&quot;1178&quot; data-origin-height=&quot;438&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;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;포부 좋게 6과목 수강신청 완료&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이번 학기는 느낌이 좋다 ^ㅡ^&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이번 달에는 리액트 강의 완강하고, 코테 문제도 더욱 적극적으로 풀어야겠다&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;그리고 블로그 방치하지 않기. 약속&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;⭐️ 2월 목표 ⭐️&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal; background-color: #ffffff; color: #353638; text-align: left;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;list-style-type: decimal;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;노마드코더 리액트 강의 완강&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: decimal;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;프로그래머스 코딩테스트 Lv.1 5문제 이상 풀기&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: decimal;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;퍼블리싱 가이드 정리&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2월도 화이팅 아자아자 와쟈쟈&lt;/span&gt;&lt;/p&gt;
&lt;figure contenteditable=&quot;false&quot; data-ke-type=&quot;emoticon&quot; data-ke-align=&quot;alignLeft&quot; data-emoticon-type=&quot;niniz&quot; data-emoticon-name=&quot;023&quot; data-emoticon-isanimation=&quot;false&quot; data-emoticon-src=&quot;https://t1.daumcdn.net/keditor/emoticon/niniz/large/023.gif&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/keditor/emoticon/niniz/large/023.gif&quot; width=&quot;150&quot; /&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>etc.</category>
      <category>개발자되고싶다</category>
      <author>안댕이</author>
      <guid isPermaLink="true">https://webd.tistory.com/172</guid>
      <comments>https://webd.tistory.com/172#entry172comment</comments>
      <pubDate>Thu, 1 Feb 2024 20:02:58 +0900</pubDate>
    </item>
    <item>
      <title>[Git] Git 기초 / 맥OS 깃 설치</title>
      <link>https://webd.tistory.com/171</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;갓생 1일차.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;무지성 add + commit만 알고 있던 나. 미루고 미루던 git을 공부할 것이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;학교다니면서 프로젝트 할 때 몇 번 사용하고, 회사에서는 회사 공유폴더에 백업해두는 편이라 깃을 잘 사용하지 않았다. &lt;/span&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;코테 문제 백준허브로 업로드 하는 정도....? (그것도 백준허브가 다 해줌)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;주변에서 많이들 추천해준 &lt;a href=&quot;https://youtu.be/sly2u8BIi9E?si=bhJILUvLjLmmGRqS&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;코딩애플님의 강의&lt;/a&gt;로 선택했다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;  git 설치하기&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;맥OS는 처음이니까 차근차근 따라 해보자.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1.&amp;nbsp; 홈브류 설치&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;- 홈브류(Homebrew)란? 맥OS용 패키지 관리 애플리케이션&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1)&amp;nbsp; 터미널 열기&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2) &lt;a href=&quot;https://brew.sh/&quot;&gt;https://brew.sh/&lt;/a&gt; 접속해서 길게 적혀있는 설치 명령어를 터미널에 입력&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;3) 비밀번호 입력하라고 하셨는데 안해도 잘 넘어가더라. 엔터 엔터 하니 설치 완료&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;4) 홈브류 설치 다 됐으면 터미널에 &lt;code&gt;brew install git&lt;/code&gt;&amp;nbsp;입력&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2. 추가 세팅&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1) 터미널에 git config --global init.defaultBranch main 입력&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;기본 브랜치 이름을 master에서 main으로 변경해주는 명령&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2) 터미널에 git config --global core.editor &quot;code --wait&quot;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;git의 기본 에디터가 Vim이 아닌 VSCode로 변경됨. 초보는 하라고 하셔서 했다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;3. 확인&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1) 작업용 폴더 생성하고 터미널에서 열기&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2) git --version 입력하고, 버전이 뜨면 성공적으로 설치 완료! 안뜨면 재부팅&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;4. 유저이름 세팅&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1) &lt;code&gt;git config --global user.email &quot;안댕이@gmail.com&quot;&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2) &lt;code&gt;git confit --global user.name &quot;안댕이&quot;&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이렇게 설치는 끝났다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;  사용해보기&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1. VSCode에서 작업폴더 열고, 터미널 열고, &lt;code&gt;git init&lt;/code&gt; 입력&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;- 이제 작업폴더를 감시한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2. 파일의 현재 상태를 기록하려면&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1704200214134&quot; class=&quot;dockerfile&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;git add 파일명
git commit -m '메모'&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;code&gt;git add&lt;/code&gt;명령으로 기록할 파일을 고르고, &lt;code&gt;git commit&lt;/code&gt;으로 파일 기록을 명령한다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1000&quot; data-origin-height=&quot;400&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/4gJPF/btsC2AB1nwn/Oy3nGfmtAqnknleldGRnxK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/4gJPF/btsC2AB1nwn/Oy3nGfmtAqnknleldGRnxK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/4gJPF/btsC2AB1nwn/Oy3nGfmtAqnknleldGRnxK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F4gJPF%2FbtsC2AB1nwn%2FOy3nGfmtAqnknleldGRnxK%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;500&quot; height=&quot;200&quot; data-origin-width=&quot;1000&quot; data-origin-height=&quot;400&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;작업폴더에서 add를 통해 staging area에 파일을 올리는 행위를 스테이징 한다고 한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;그리고 commit을 통해 repository(저장소)에 파일을 저장한다&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;  알아두면 좋은 명령어&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1. 여러 파일 스테이징&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1704201918326&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git add app1.txt app2.txt //...
git add . //모든 파일 스테이징&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;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2. 상태창 열기&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1704201951374&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git status&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&amp;nbsp;지금 어떤 파일들이 스테이징 되어있는지, 수정했는지 확인 가능&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;3. commit 내역 조회&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1704202014347&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git log --all --oneline&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;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;커밋 다섯번 연습해보라고 하셨다. 해보고 다음 강의로 넘어가야지&lt;/span&gt;&lt;/p&gt;</description>
      <category>Git</category>
      <category>git</category>
      <category>코딩애플</category>
      <author>안댕이</author>
      <guid isPermaLink="true">https://webd.tistory.com/171</guid>
      <comments>https://webd.tistory.com/171#entry171comment</comments>
      <pubDate>Tue, 2 Jan 2024 22:32:54 +0900</pubDate>
    </item>
    <item>
      <title>2024년 시작!</title>
      <link>https://webd.tistory.com/170</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;어느새 2024년이 시작됐다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;735&quot; data-origin-height=&quot;802&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bqOiwl/btsCTBWjIDd/AeN3PvnrUTMUBkjLYk1PA1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bqOiwl/btsCTBWjIDd/AeN3PvnrUTMUBkjLYk1PA1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bqOiwl/btsCTBWjIDd/AeN3PvnrUTMUBkjLYk1PA1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbqOiwl%2FbtsCTBWjIDd%2FAeN3PvnrUTMUBkjLYk1PA1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;400&quot; height=&quot;802&quot; data-origin-width=&quot;735&quot; data-origin-height=&quot;802&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;매년 하는 새해 결심이지만 이번년도는 진짜(?)다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;운동도 하고, 공부도 하고, 책도 읽어야지...&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;회사 업무가 갑자기 많아지고, 그만큼 스트레스도 늘어난 12월...&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이로 인해 블로그와 코테에도 약간 소홀해졌다. 아주 약간...&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이제 새해를 맞이했으니 새마음 새뜻으로 다시 개발자의 길을 닦아보려 한다. 뽀득뽀득&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이제 매 월 목표를 세우고, 월 말에 주절주절 회고록을 쓸 것이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;다이어리 사놓고 한 번도 꽉 채워본 적 없는데, 이번엔 쓴다. 진짜진짜로.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;⭐️ 2024년 목표 ⭐️&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;10kg 감량 (주 4회 이상 운동하기)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;토이 프로젝트 3개 이상&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;모던 자바스크립트 Deep Dive 완독&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;개발자 취업.... &lt;s&gt;제발요&lt;/s&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;⭐️ 1월 목표 ⭐️&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;노마드코더 리액트 강의 완강&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;프로그래머스 코딩테스트 Lv.1 5문제 이상 풀기&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;(이제 난이도가 조금 높아졌다.)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;카카오 이모티콘 2개 이상 제출&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;지금 하고있는 회사 업무... 제발 여유가 생겼으면 좋겠다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;마감 기한 얼마 안남았으니 불태우고, 퇴근 후에 공부하는 갓생 살아보자 아좌좌&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure contenteditable=&quot;false&quot; data-ke-type=&quot;emoticon&quot; data-ke-align=&quot;alignCenter&quot; data-emoticon-type=&quot;niniz&quot; data-emoticon-name=&quot;035&quot; data-emoticon-isanimation=&quot;false&quot; data-emoticon-src=&quot;https://t1.daumcdn.net/keditor/emoticon/niniz/large/035.gif&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/keditor/emoticon/niniz/large/035.gif&quot; width=&quot;150&quot; /&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>etc.</category>
      <category>개발자되고싶다</category>
      <author>안댕이</author>
      <guid isPermaLink="true">https://webd.tistory.com/170</guid>
      <comments>https://webd.tistory.com/170#entry170comment</comments>
      <pubDate>Mon, 1 Jan 2024 23:50:48 +0900</pubDate>
    </item>
    <item>
      <title>[프로그래머스] Lv.1 카드 뭉치 / JS</title>
      <link>https://webd.tistory.com/169</link>
      <description>&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  문제 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;코니는 영어 단어가 적힌 카드 뭉치 두 개를 선물로 받았습니다. 코니는 다음과 같은 규칙으로 카드에 적힌 단어들을 사용해 원하는 순서의 단어 배열을 만들 수 있는지 알고 싶습니다.&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;원하는 카드 뭉치에서 카드를 순서대로 한 장씩 사용합니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;한 번 사용한 카드는 다시 사용할 수 없습니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;카드를 사용하지 않고 다음 카드로 넘어갈 수 없습니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;기존에 주어진 카드 뭉치의 단어 순서는 바꿀 수 없습니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;예를 들어 첫 번째 카드 뭉치에 순서대로 [&quot;i&quot;, &quot;drink&quot;, &quot;water&quot;], 두 번째 카드 뭉치에 순서대로 [&quot;want&quot;, &quot;to&quot;]가 적혀있을 때 [&quot;i&quot;, &quot;want&quot;, &quot;to&quot;, &quot;drink&quot;, &quot;water&quot;] 순서의 단어 배열을 만들려고 한다면 첫 번째 카드 뭉치에서 &quot;i&quot;를 사용한 후 두 번째 카드 뭉치에서 &quot;want&quot;와 &quot;to&quot;를 사용하고 첫 번째 카드뭉치에 &quot;drink&quot;와 &quot;water&quot;를 차례대로 사용하면 원하는 순서의 단어 배열을 만들 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;문자열로 이루어진 배열&amp;nbsp;cards1,&amp;nbsp;cards2와 원하는 단어 배열&amp;nbsp;goal이 매개변수로 주어질 때,&amp;nbsp;cards1과&amp;nbsp;cards2에 적힌 단어들로&amp;nbsp;goal를 만들 있다면 &quot;Yes&quot;를, 만들 수 없다면 &quot;No&quot;를 return하는 solution 함수를 완성해주세요.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;⭐ 제한사항&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1 &amp;le;&amp;nbsp;cards1의 길이,&amp;nbsp;cards2의 길이 &amp;le; 10&lt;/span&gt;
&lt;ul style=&quot;list-style-type: circle; color: #000000;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1 &amp;le;&amp;nbsp;cards1[i]의 길이,&amp;nbsp;cards2[i]의 길이 &amp;le; 10&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;cards1과&amp;nbsp;cards2에는 서로 다른 단어만 존재합니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2 &amp;le;&amp;nbsp;goal의 길이 &amp;le;&amp;nbsp;cards1의 길이 +&amp;nbsp;cards2의 길이&lt;/span&gt;
&lt;ul style=&quot;list-style-type: circle; color: #000000;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1 &amp;le;&amp;nbsp;goal[i]의 길이 &amp;le; 10&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;goal의 원소는&amp;nbsp;cards1과&amp;nbsp;cards2의 원소들로만 이루어져 있습니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;cards1,&amp;nbsp;cards2,&amp;nbsp;goal의 문자열들은 모두 알파벳 소문자로만 이루어져 있습니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;631&quot; data-origin-height=&quot;113&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/5uwbH/btsAyqXA9xJ/t9E8r9CvOa2bvWJkEaBrak/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/5uwbH/btsAyqXA9xJ/t9E8r9CvOa2bvWJkEaBrak/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/5uwbH/btsAyqXA9xJ/t9E8r9CvOa2bvWJkEaBrak/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5uwbH%2FbtsAyqXA9xJ%2Ft9E8r9CvOa2bvWJkEaBrak%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;631&quot; height=&quot;113&quot; data-origin-width=&quot;631&quot; data-origin-height=&quot;113&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;입출력 예 #1&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;본문과 같습니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;입출력 예 #2&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;cards1에서 &quot;i&quot;를 사용하고&amp;nbsp;cards2에서 &quot;want&quot;와 &quot;to&quot;를 사용하여 &quot;i want to&quot;까지는 만들 수 있지만 &quot;water&quot;가 &quot;drink&quot;보다 먼저 사용되어야 하기 때문에 해당 문장을 완성시킬 수 없습니다. 따라서 &quot;No&quot;를 반환합니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  나의 답변&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1700458627614&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;function solution(cards1, cards2, goal) {
    return goal.map((v) =&amp;gt; {
        // 카드 배열 첫번째 요소 각각 비교
        if(cards1[0] === v) {
            cards1.shift();
        } else if(cards2[0] === v) {
            cards2.shift();
        } else {
            return &quot;No&quot;;
        } 
    }).includes(&quot;No&quot;) ? &quot;No&quot; : &quot;Yes&quot;;
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1차 풀이.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;굳이 includes와 삼항연산자를 넣지 않아도 될 것 같아 다시 풀어봤다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1700458832789&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;function solution(cards1, cards2, goal) {
    for(let v of goal) {
        if(cards1[0] === v) {
            cards1.shift();
        } else if(cards2[0] === v) {
            cards2.shift();
        } else {
            return &quot;No&quot;;
        } 
    }
    
    return &quot;Yes&quot;;
}&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;더 간결해진 듯!!!!  &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>프로그래머스/Lv. 1</category>
      <category>코딩테스트 연습</category>
      <category>프로그래머스</category>
      <author>안댕이</author>
      <guid isPermaLink="true">https://webd.tistory.com/169</guid>
      <comments>https://webd.tistory.com/169#entry169comment</comments>
      <pubDate>Mon, 20 Nov 2023 14:42:42 +0900</pubDate>
    </item>
    <item>
      <title>[프로그래머스] Lv.1 콜라 문제 / JS</title>
      <link>https://webd.tistory.com/168</link>
      <description>&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  문제 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;오래전 유행했던 콜라 문제가 있습니다. 콜라 문제의 지문은 다음과 같습니다.&lt;/span&gt;&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #ffffff; color: #44576c; text-align: left;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p style=&quot;color: #000000;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;정답은 아무에게도 말하지 마세요.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #000000;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;콜라 빈 병 2개를 가져다주면 콜라 1병을 주는 마트가 있다. 빈 병 20개를 가져다주면 몇 병을 받을 수 있는가?&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #000000;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;단, 보유 중인 빈 병이 2개 미만이면, 콜라를 받을 수 없다.&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;문제를 풀던 상빈이는 콜라 문제의 완벽한 해답을 찾았습니다. 상빈이가 푼 방법은 아래 그림과 같습니다. 우선 콜라 빈 병 20병을 가져가서 10병을 받습니다. 받은 10병을 모두 마신 뒤, 가져가서 5병을 받습니다. 5병 중 4병을 모두 마신 뒤 가져가서 2병을 받고, 또 2병을 모두 마신 뒤 가져가서 1병을 받습니다. 받은 1병과 5병을 받았을 때 남은 1병을 모두 마신 뒤 가져가면 1병을 또 받을 수 있습니다. 이 경우 상빈이는 총 10 + 5 + 2 + 1 + 1 = 19병의 콜라를 받을 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;755&quot; data-origin-height=&quot;815&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b7PPfu/btsAzDCpg1t/IGeKI1bmI1u9m773s29SgK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b7PPfu/btsAzDCpg1t/IGeKI1bmI1u9m773s29SgK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b7PPfu/btsAzDCpg1t/IGeKI1bmI1u9m773s29SgK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb7PPfu%2FbtsAzDCpg1t%2FIGeKI1bmI1u9m773s29SgK%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;755&quot; height=&quot;815&quot; data-origin-width=&quot;755&quot; data-origin-height=&quot;815&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;문제를 열심히 풀던 상빈이는 일반화된 콜라 문제를 생각했습니다. 이 문제는 빈 병&amp;nbsp;a개를 가져다주면 콜라&amp;nbsp;b병을 주는 마트가 있을 때, 빈 병&amp;nbsp;n개를 가져다주면 몇 병을 받을 수 있는지 계산하는 문제입니다. 기존 콜라 문제와 마찬가지로, 보유 중인 빈 병이&amp;nbsp;a개 미만이면, 추가적으로 빈 병을 받을 순 없습니다. 상빈이는 열심히 고심했지만, 일반화된 콜라 문제의 답을 찾을 수 없었습니다. 상빈이를 도와, 일반화된 콜라 문제를 해결하는 프로그램을 만들어 주세요.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;콜라를 받기 위해 마트에 주어야 하는 병 수&amp;nbsp;a, 빈 병 a개를 가져다 주면 마트가 주는 콜라 병 수&amp;nbsp;b, 상빈이가 가지고 있는 빈 병의 개수&amp;nbsp;n이 매개변수로 주어집니다. 상빈이가 받을 수 있는 콜라의 병 수를 return 하도록 solution 함수를 작성해주세요.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;⭐ 제한사항&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1 &amp;le;&amp;nbsp;b&amp;nbsp;&amp;lt;&amp;nbsp;a&amp;nbsp;&amp;le;&amp;nbsp;n&amp;nbsp;&amp;le; 1,000,000&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;정답은 항상 int 범위를 넘지 않게 주어집니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;a&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;b&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;n&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;result&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;20&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;19&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;3&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;20&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;9&lt;/span&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;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;입출력 예 #1&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;본문에서 설명한 예시입니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;입출력 예 #2&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;빈 병 20개 중 18개를 마트에 가져가서, 6병의 콜라를 받습니다. 이때 상빈이가 가지고 있는 콜라 병의 수는 8(20 &amp;ndash; 18 + 6 = 8)개 입니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;빈 병 8개 중 6개를 마트에 가져가서, 2병의 콜라를 받습니다. 이때 상빈이가 가지고 있는 콜라 병의 수는 4(8 &amp;ndash; 6 + 2 = 4)개 입니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;빈 병 4 개중 3개를 마트에 가져가서, 1병의 콜라를 받습니다. 이때 상빈이가 가지고 있는 콜라 병의 수는 2(4 &amp;ndash; 3 + 1 = 2)개 입니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;3번의 교환 동안 상빈이는 9(6 + 2 + 1 = 9)병의 콜라를 받았습니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  나의 답변&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1700456889510&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;function solution(a, b, n) {
    let total = n; // 남은 병
    let bottle = 0; // 갖다주는 병
    let service = 0; // 받은 콜라
    let cnt = 0; // 받은 콜라 카운트
    
    while(total &amp;gt;= a) {
        // 최대로 갖다줄 수 있는 병의 개수
        bottle = total - total % a;
        // 빈 병 갖다줌
        total -= bottle;
        // 서비스 받음
        service += Math.floor(bottle/a) * b;
        // 서비스 추가
        total += service;
        // 카운트
        cnt += service;
        // 서비스 초기화
        service = 0;
    }
    
    return cnt;
}&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;정답은 아무에게도 말하지 마세요 아닌가&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;code&gt;console.log(&quot;아무에게도 말하지 마세요&quot;)&lt;/code&gt; 생각했는데 아니다 하하하하&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;중간중간 사고가 멈췄다..........&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;아니 분명 이해했는데? 왜??? 안되지???? 이러면서 반복하다가 결국 다 지우고 다시 시작하고 반복&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;변수 잔뜩 생성해서 풀어봤다  &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;⭐ 참고할 답변&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;pre class=&quot;reasonml&quot; style=&quot;background-color: #202b3d; color: #93a1a1; text-align: left;&quot;&gt;&lt;code&gt;solution = (a, b, n) =&amp;gt; Math.floor(Math.max(n - b, 0) / (a - b)) * b&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;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이렇게도&amp;nbsp; 풀 수 있구나&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;code&gt;Math.max(n - b, 0)&lt;/code&gt; 이 부분은 &lt;code&gt;n - b&lt;/code&gt;와 0 중에서 큰 값을 선택한다. 음수일 경우 방지!&lt;/span&gt;&lt;/p&gt;
&lt;figure contenteditable=&quot;false&quot; data-ke-type=&quot;emoticon&quot; data-ke-align=&quot;alignCenter&quot; data-emoticon-type=&quot;friends1&quot; data-emoticon-name=&quot;017&quot; data-emoticon-isanimation=&quot;false&quot; data-emoticon-src=&quot;https://t1.daumcdn.net/keditor/emoticon/friends1/large/017.gif&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/keditor/emoticon/friends1/large/017.gif&quot; width=&quot;150&quot; /&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대단해.........................................&lt;/p&gt;</description>
      <category>프로그래머스/Lv. 1</category>
      <category>코딩테스트 연습</category>
      <category>프로그래머스</category>
      <author>안댕이</author>
      <guid isPermaLink="true">https://webd.tistory.com/168</guid>
      <comments>https://webd.tistory.com/168#entry168comment</comments>
      <pubDate>Mon, 20 Nov 2023 14:14:47 +0900</pubDate>
    </item>
    <item>
      <title>[프로그래머스] Lv.1 폰켓몬 / JS</title>
      <link>https://webd.tistory.com/167</link>
      <description>&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  문제 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;홍 박사님 연구실의 폰켓몬은 종류에 따라 번호를 붙여 구분합니다. 따라서 같은 종류의 폰켓몬은 같은 번호를 가지고 있습니다. 예를 들어 연구실에 총 4마리의 폰켓몬이 있고, 각 폰켓몬의 종류 번호가 [3번, 1번, 2번, 3번]이라면 이는 3번 폰켓몬 두 마리, 1번 폰켓몬 한 마리, 2번 폰켓몬 한 마리가 있음을 나타냅니다. 이때, 4마리의 폰켓몬 중 2마리를 고르는 방법은 다음과 같이 6가지가 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal; background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;첫 번째(3번), 두 번째(1번) 폰켓몬을 선택&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;첫 번째(3번), 세 번째(2번) 폰켓몬을 선택&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;첫 번째(3번), 네 번째(3번) 폰켓몬을 선택&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;두 번째(1번), 세 번째(2번) 폰켓몬을 선택&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;두 번째(1번), 네 번째(3번) 폰켓몬을 선택&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;세 번째(2번), 네 번째(3번) 폰켓몬을 선택&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이때, 첫 번째(3번) 폰켓몬과 네 번째(3번) 폰켓몬을 선택하는 방법은 한 종류(3번 폰켓몬 두 마리)의 폰켓몬만 가질 수 있지만, 다른 방법들은 모두 두 종류의 폰켓몬을 가질 수 있습니다. 따라서 위 예시에서 가질 수 있는 폰켓몬 종류 수의 최댓값은 2가 됩니다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;당신은 최대한 다양한 종류의 폰켓몬을 가지길 원하기 때문에, 최대한 많은 종류의 폰켓몬을 포함해서 N/2마리를 선택하려 합니다. N마리 폰켓몬의 종류 번호가 담긴 배열 nums가 매개변수로 주어질 때, N/2마리의 폰켓몬을 선택하는 방법 중, 가장 많은 종류의 폰켓몬을 선택하는 방법을 찾아, 그때의 폰켓몬 종류 번호의 개수를 return 하도록 solution 함수를 완성해주세요.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;⭐ 제한사항&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;nums는 폰켓몬의 종류 번호가 담긴 1차원 배열입니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;nums의 길이(N)는 1 이상 10,000 이하의 자연수이며, 항상 짝수로 주어집니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;폰켓몬의 종류 번호는 1 이상 200,000 이하의 자연수로 나타냅니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;가장 많은 종류의 폰켓몬을 선택하는 방법이 여러 가지인 경우에도, 선택할 수 있는 폰켓몬 종류 개수의 최댓값 하나만 return 하면 됩니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;nums&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;result&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[3, 1, 2, 3]&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[3, 3, 3, 2, 2, 4]&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;3&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[3, 3, 3, 2, 2, 2]&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2&lt;/span&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;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;입출력 예 #1&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;문제의 예시와 같습니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;입출력 예 #2&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;6마리의 폰켓몬이 있으므로, 3마리의 폰켓몬을 골라야 합니다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;가장 많은 종류의 폰켓몬을 고르기 위해서는 3번 폰켓몬 한 마리, 2번 폰켓몬 한 마리, 4번 폰켓몬 한 마리를 고르면 되며, 따라서 3을 return 합니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;입출력 예 #3&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;6마리의 폰켓몬이 있으므로, 3마리의 폰켓몬을 골라야 합니다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;가장 많은 종류의 폰켓몬을 고르기 위해서는 3번 폰켓몬 한 마리와 2번 폰켓몬 두 마리를 고르거나, 혹은 3번 폰켓몬 두 마리와 2번 폰켓몬 한 마리를 고르면 됩니다. 따라서 최대 고를 수 있는 폰켓몬 종류의 수는 2입니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  나의 답변&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1700206520051&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;function solution(nums) {
    const max = Math.floor(nums.length / 2); // 가져갈 수 있는 폰켓몬 최댓값
    const cnt = [...new Set(nums)].length; // 폰켓몬의 종류
    
    return max &amp;lt; cnt ? max : cnt;
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;문제를 정답률 높은 순에서부터 풀고 있는데, 이 문제는 읽다가 말려서 다음문제로 넘어갔었다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;다시 순서대로 해보려 문제를 다시 차근차근 읽어보니 어????? 너무 쉬웠다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;총 N마리의 폰켓몬 중에서 절반을 가져가도 좋다고 했으니, 절반을 최댓값으로 변수에 저장해두고, 두 종류 이상의 폰켓몬은 가질 수 없으니 Set으로 중복값을 제거한 뒤, 그 개수와 비교해주면 끝!&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;너무 허무하게, 쉽게 풀었다.  &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이번 답안도 제출하고 다른 사람의 풀이를 보니 추천 가장 많은 답안과 거의 동일하게 풀어서 뿌듯 ✌&lt;/span&gt;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>프로그래머스/Lv. 1</category>
      <category>코딩테스트연습</category>
      <category>프로그래머스</category>
      <author>안댕이</author>
      <guid isPermaLink="true">https://webd.tistory.com/167</guid>
      <comments>https://webd.tistory.com/167#entry167comment</comments>
      <pubDate>Fri, 17 Nov 2023 16:39:00 +0900</pubDate>
    </item>
    <item>
      <title>[프로그래머스] Lv.1 두 개 뽑아서 더하기 / JS</title>
      <link>https://webd.tistory.com/166</link>
      <description>&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  문제 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left; font-family: 'Noto Sans Light';&quot;&gt; 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;⭐ 제한사항&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;numbers의 길이는 2 이상 100 이하입니다.&lt;/span&gt;
&lt;ul style=&quot;list-style-type: circle; color: #000000;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;numbers의 모든 수는 0 이상 100 이하입니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;numbers&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;result&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[2, 1, 3, 4, 1]&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[2, 3, 4, 5, 6, 7]&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[5, 0, 2, 7]&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[2, 5, 7, 9, 12]&lt;/span&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;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;입출력 예 #1&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2 = 1 + 1 입니다. (1이 numbers에 두 개 있습니다.)&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;3 = 2 + 1 입니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;4 = 1 + 3 입니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;5 = 1 + 4 = 2 + 3 입니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;6 = 2 + 4 입니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;7 = 3 + 4 입니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;따라서&amp;nbsp;[2,3,4,5,6,7]&amp;nbsp;을 return 해야 합니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;입출력 예 #2&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2 = 0 + 2 입니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;5 = 5 + 0 입니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;7 = 0 + 7 = 5 + 2 입니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;9 = 2 + 7 입니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;12 = 5 + 7 입니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;따라서&amp;nbsp;[2,5,7,9,12]&amp;nbsp;를 return 해야 합니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  나의 답변&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1700199225004&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;function solution(numbers) {
    const answer = [];
    
    for(let i = 0; i &amp;lt; numbers.length; i++) {
        for(let j = i+1; j &amp;lt; numbers.length; j++) {
            answer.push(numbers[i] + numbers[j]);
        }
    }
    
    return [...new Set(answer.sort((a, b) =&amp;gt; a - b))];
}&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;풀이 다 하고 채점도 하고, 다른 사람의 풀이도 참고하려 들어가봤는데 추천 수 가장 많은 답변이랑 거의 똑같았다!&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이러면 뭔가 기분이 좋단 말이죠  &lt;/span&gt;&lt;/p&gt;</description>
      <category>프로그래머스/Lv. 1</category>
      <category>JavaScript</category>
      <category>LV1</category>
      <category>두 개 뽑아서 더하기</category>
      <category>월간 코드 챌린지 시즌1</category>
      <category>자바스크립트</category>
      <category>코딩테스트 연습</category>
      <category>프로그래머스</category>
      <author>안댕이</author>
      <guid isPermaLink="true">https://webd.tistory.com/166</guid>
      <comments>https://webd.tistory.com/166#entry166comment</comments>
      <pubDate>Fri, 17 Nov 2023 14:35:03 +0900</pubDate>
    </item>
    <item>
      <title>[프로그래머스] Lv.1 푸드 파이트 대회 / JS</title>
      <link>https://webd.tistory.com/165</link>
      <description>&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  문제 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;수웅이는 매달 주어진 음식을 빨리 먹는 푸드 파이트 대회를 개최합니다. 이 대회에서 선수들은 1대 1로 대결하며, 매 대결마다 음식의 종류와 양이 바뀝니다. 대결은 준비된 음식들을 일렬로 배치한 뒤, 한 선수는 제일 왼쪽에 있는 음식부터 오른쪽으로, 다른 선수는 제일 오른쪽에 있는 음식부터 왼쪽으로 순서대로 먹는 방식으로 진행됩니다. 중앙에는 물을 배치하고, 물을 먼저 먹는 선수가 승리하게 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이때, 대회의 공정성을 위해 두 선수가 먹는 음식의 종류와 양이 같아야 하며, 음식을 먹는 순서도 같아야 합니다. 또한, 이번 대회부터는 칼로리가 낮은 음식을 먼저 먹을 수 있게 배치하여 선수들이 음식을 더 잘 먹을 수 있게 하려고 합니다. 이번 대회를 위해 수웅이는 음식을 주문했는데, 대회의 조건을 고려하지 않고 음식을 주문하여 몇 개의 음식은 대회에 사용하지 못하게 되었습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;예를 들어, 3가지의 음식이 준비되어 있으며, 칼로리가 적은 순서대로 1번 음식을 3개, 2번 음식을 4개, 3번 음식을 6개 준비했으며, 물을 편의상 0번 음식이라고 칭한다면, 두 선수는 1번 음식 1개, 2번 음식 2개, 3번 음식 3개씩을 먹게 되므로 음식의 배치는 &quot;1223330333221&quot;이 됩니다. 따라서 1번 음식 1개는 대회에 사용하지 못합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;수웅이가 준비한 음식의 양을 칼로리가 적은 순서대로 나타내는 정수 배열&amp;nbsp;food가 주어졌을 때, 대회를 위한 음식의 배치를 나타내는 문자열을 return 하는 solution 함수를 완성해주세요.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;⭐ 제한사항&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2 &amp;le;&amp;nbsp;food의 길이 &amp;le; 9&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1 &amp;le;&amp;nbsp;food의 각 원소 &amp;le; 1,000&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;food에는 칼로리가 적은 순서대로 음식의 양이 담겨 있습니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;food[i]는 i번 음식의 수입니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;food[0]은 수웅이가 준비한 물의 양이며, 항상 1입니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;정답의 길이가 3 이상인 경우만 입력으로 주어집니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;food&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;result&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[1, 3, 4, 6]&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&quot;1223330333221&quot;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[1, 7, 1, 2]&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&quot;111303111&quot;&lt;/span&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;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;입출력 예 #1&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;문제 예시와 같습니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;입출력 예 #2&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;두 선수는 1번 음식 3개, 3번 음식 1개를 먹게 되므로 음식의 배치는 &quot;111303111&quot;입니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  나의 답변&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1700198737844&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;function solution(food) {
    let answer = &quot;&quot;;
    
    for(let i = 1; i &amp;lt; food.length; i++) {
        for(let j = 0; j &amp;lt; Math.floor(food[i] / 2); j++) {
            answer += i;
        }
    }
    
    return answer + &quot;0&quot; + [...answer].reverse().join('');
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;갈수록 문제가 길어진다.....&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이 문제는 나름 쉽게 풀었음.......................!&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;⭐ 참고할 답변&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1700198999588&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;function solution(food) {
    let res = '';
    for (let i = 1; i &amp;lt; food.length; i++) {
        res += String(i).repeat(Math.floor(food[i]/2));
    }

    return res + '0' + [...res].reverse().join('');
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;for문 하나로도 풀 수 있었네&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;code&gt;repeat&lt;/code&gt; 메서드 활용해서 뚝딱 풀이한 답변 메모&lt;/span&gt;&lt;/p&gt;</description>
      <category>프로그래머스/Lv. 1</category>
      <category>JavaScript</category>
      <category>LV1</category>
      <category>자바스크립트</category>
      <category>코딩테스트연습</category>
      <category>푸드 파이트 대회</category>
      <category>프로그래머스</category>
      <author>안댕이</author>
      <guid isPermaLink="true">https://webd.tistory.com/165</guid>
      <comments>https://webd.tistory.com/165#entry165comment</comments>
      <pubDate>Fri, 17 Nov 2023 14:30:54 +0900</pubDate>
    </item>
    <item>
      <title>[프로그래머스] Lv.1 비밀지도 / JS / 비트연산자</title>
      <link>https://webd.tistory.com/164</link>
      <description>&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  문제 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다행히 지도 암호를 해독할 방법을 적어놓은 메모도 함께 발견했다.&lt;/span&gt;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal; background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;지도는 한 변의 길이가&amp;nbsp;n인 정사각형 배열 형태로, 각 칸은 &quot;공백&quot;(&quot; &quot;) 또는 &quot;벽&quot;(&quot;#&quot;) 두 종류로 이루어져 있다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;전체 지도는 두 장의 지도를 겹쳐서 얻을 수 있다. 각각 &quot;지도 1&quot;과 &quot;지도 2&quot;라고 하자. 지도 1 또는 지도 2 중 어느 하나라도 벽인 부분은 전체 지도에서도 벽이다. 지도 1과 지도 2에서 모두 공백인 부분은 전체 지도에서도 공백이다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&quot;지도 1&quot;과 &quot;지도 2&quot;는 각각 정수 배열로 암호화되어 있다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;암호화된 배열은 지도의 각 가로줄에서 벽 부분을&amp;nbsp;1, 공백 부분을&amp;nbsp;0으로 부호화했을 때 얻어지는 이진수에 해당하는 값의 배열이다.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;449&quot; data-origin-height=&quot;707&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rmzVz/btsAqBeBUFL/OW1ozFk4Yg2i1Ed3nPwcQ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rmzVz/btsAqBeBUFL/OW1ozFk4Yg2i1Ed3nPwcQ0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rmzVz/btsAqBeBUFL/OW1ozFk4Yg2i1Ed3nPwcQ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrmzVz%2FbtsAqBeBUFL%2FOW1ozFk4Yg2i1Ed3nPwcQ0%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;449&quot; height=&quot;707&quot; data-origin-width=&quot;449&quot; data-origin-height=&quot;707&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left; font-family: 'Noto Sans Light';&quot;&gt;네오가 프로도의 비상금을 손에 넣을 수 있도록, 비밀지도의 암호를 해독하는 작업을 도와줄 프로그램을 작성하라. &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입력 형식&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;입력으로 지도의 한 변 크기&amp;nbsp;n&amp;nbsp;과 2개의 정수 배열&amp;nbsp;arr1,&amp;nbsp;arr2가 들어온다.&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1 ≦&amp;nbsp;n&amp;nbsp;≦ 16&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;arr1,&amp;nbsp;arr2는 길이&amp;nbsp;n인 정수 배열로 주어진다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;정수 배열의 각 원소&amp;nbsp;x를 이진수로 변환했을 때의 길이는&amp;nbsp;n&amp;nbsp;이하이다. 즉, 0 ≦&amp;nbsp;x&amp;nbsp;≦ 2n&amp;nbsp;- 1을 만족한다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입력 형식&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt; &lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot;&gt;원래의 비밀지도를 해독하여&amp;nbsp;&lt;/span&gt;'#'&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot;&gt;,&amp;nbsp;&lt;/span&gt;공백&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot;&gt;으로 구성된 문자열 배열로 출력하라.&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예제&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;620&quot; data-origin-height=&quot;376&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bWtG7O/btsAvqJmrlr/2PG1Q0EK5igLhI8twHbM30/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bWtG7O/btsAvqJmrlr/2PG1Q0EK5igLhI8twHbM30/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bWtG7O/btsAvqJmrlr/2PG1Q0EK5igLhI8twHbM30/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbWtG7O%2FbtsAvqJmrlr%2F2PG1Q0EK5igLhI8twHbM30%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;620&quot; height=&quot;376&quot; data-origin-width=&quot;620&quot; data-origin-height=&quot;376&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  나의 답변&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1700023380403&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;function solution(n, arr1, arr2) {
    const newArr1 = arr1.map((v) =&amp;gt; v.toString(2));
    const newArr2 = arr2.map((v) =&amp;gt; v.toString(2));

    newArr1.forEach((v, i) =&amp;gt; {
        for(let idx = v.length; idx &amp;lt; n; idx++) {
            newArr1[i] = '0' + newArr1[i];
        }
    });
    
    newArr2.forEach((v, i) =&amp;gt; {
        for(let idx = v.length; idx &amp;lt; n; idx++) {
            newArr2[i] = '0' + newArr2[i];
        }
    });
    
    const newArr = newArr1.map((v, i) =&amp;gt; {
        return [...v].map((el, j) =&amp;gt; {
            return Number(el) + Number(newArr2[i][j]);
        }).join('');
    });
    
    return newArr.map((v) =&amp;gt; [...v].map((el) =&amp;gt; el === '0' ?  ' ' : '#').join(''));
}&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;난 분명 노가다로 풀었다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;다 풀고 나서 해설 보니 &lt;span style=&quot;background-color: #f6e199;&quot;&gt;비트연산을 잘 다룰 수 있는지 묻고자 하는 의도&lt;/span&gt;였다고 한다... 머쓱&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;아주 쉬운 문제였다고... ㅎ ㅎㅎ ㅎ&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이제라도 알고 가면 되는거지.... ~~~....&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;갈 길이 멀다 멀어  &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;⭐ 참고할 답변&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;pre class=&quot;coffeescript&quot; style=&quot;background-color: #202b3d; color: #93a1a1; text-align: left;&quot;&gt;&lt;code&gt;var solution=(n,a,b)=&amp;gt;a.map((a,i)=&amp;gt;(a|b[i]).toString(2).padStart(n,0).replace(/0/g,' ').replace(/1/g,'#'))&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;  &lt;code&gt;padStart&lt;/code&gt; : 문자열 메서드. 현재 문자열의 시작 부분에 특정 길이로 패딩(공백이나 다른 문자)을 추가하는 데 사용.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;background-color: #f6e199; font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;  비트연산자&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1. 비트 AND (&lt;code&gt;&amp;amp;&lt;/code&gt;) : 두 비트가 모두 1이면 결과가 1이 되고, 그 이외의 경우에는 0&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1700198430548&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;let result = 5 &amp;amp; 3; // 0101 &amp;amp; 0011 = 0001
console.log(result); // 출력: 1&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;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2. 비트 OR (&lt;code&gt;|&lt;/code&gt;) : 두 비트 중 하나라도 1이면 결과가 1이 되고, 둘 다 0인 경우 0&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1700198439660&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;let result = 5 | 3; // 0101 | 0011 = 0111
console.log(result); // 출력: 7&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;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;3. 비트 XOR (&lt;code&gt;^&lt;/code&gt;) : 두 비트가 서로 다르면 결과가 1이 되고, 같으면 0&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1700198454468&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;let result = 5 ^ 3; // 0101 ^ 0011 = 0110
console.log(result); // 출력: 6&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;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;4. 비트 NOT (&lt;code&gt;~&lt;/code&gt;) : 각 비트를 반전시킴. 0은 1로, 1은 0으로 변환.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;let result = ~5; // ~0101 = 1010 (부호 비트 포함)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt; console.log(result); // 출력: -6&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1700198462365&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;let result = ~5; // ~0101 = 1010 (부호 비트 포함)
console.log(result); // 출력: -6&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;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;5. 비트 왼쪽 시프트 (&lt;code&gt;&amp;lt;&amp;lt;&lt;/code&gt;) : 숫자의 비트를 왼쪽으로 이동. 오른쪽에 0으로 채워짐&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1700198468868&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;let result = 5 &amp;lt;&amp;lt; 1; // 0101을 왼쪽으로 1번 시프트하면 1010
console.log(result); // 출력: 10&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;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;6. 비트 오른쪽 시프트 (&lt;code&gt;&amp;gt;&amp;gt;&lt;/code&gt;) : 숫자의 비트를 오른쪽으로 이동. 부호 비트에 따라 왼쪽에 0 또는 1로 채워짐&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1700198475724&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;let result = 5 &amp;gt;&amp;gt; 1; // 0101을 오른쪽으로 1번 시프트하면 0010
console.log(result); // 출력: 2&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;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;7. 부호없는 오른쪽 시프트 (&lt;code&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/code&gt;) : 숫자의 비트를 오른쪽으로 이동시키며, 부호 비트와 상관없이 항상 0으로 채워짐&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1700198482604&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;let result = -5 &amp;gt;&amp;gt;&amp;gt; 1 // 0101을 오른쪽으로 1번 시프트하면 0010
console.log(result); // 출력: 2147483645&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;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;CS 공부도 해야지  &lt;/span&gt;&lt;/p&gt;</description>
      <category>프로그래머스/Lv. 1</category>
      <category>2018 KAKAO BLIND RECRUITMENT</category>
      <category>JavaScript</category>
      <category>LV1</category>
      <category>비밀지도</category>
      <category>자바스크립트</category>
      <category>코딩테스트연습</category>
      <category>프로그래머스</category>
      <author>안댕이</author>
      <guid isPermaLink="true">https://webd.tistory.com/164</guid>
      <comments>https://webd.tistory.com/164#entry164comment</comments>
      <pubDate>Fri, 17 Nov 2023 14:22:48 +0900</pubDate>
    </item>
    <item>
      <title>[프로그래머스] Lv.1 문자열 내 마음대로 정렬하기 / JS</title>
      <link>https://webd.tistory.com/163</link>
      <description>&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  문제 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left; font-family: 'Noto Sans Light';&quot;&gt;문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 [&quot;sun&quot;, &quot;bed&quot;, &quot;car&quot;]이고 n이 1이면 각 단어의 인덱스 1의 문자 &quot;u&quot;, &quot;e&quot;, &quot;a&quot;로 strings를 정렬합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;⭐ 제한사항&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;strings는 길이 1 이상, 50이하인 배열입니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;strings의 원소는 소문자 알파벳으로 이루어져 있습니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;strings의 원소는 길이 1 이상, 100이하인 문자열입니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;모든 strings의 원소의 길이는 n보다 큽니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;인덱스 1의 문자가 같은 문자열이 여럿 일 경우, 사전순으로 앞선 문자열이 앞쪽에 위치합니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;strings&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;n&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;return&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[&quot;sun&quot;, &quot;bed&quot;, &quot;car&quot;]&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[&quot;car&quot;, &quot;bed&quot;, &quot;sun&quot;]&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[&quot;abce&quot;, &quot;abcd&quot;, &quot;cdx&quot;]&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[&quot;abcd&quot;, &quot;abce&quot;, &quot;cdx&quot;]&lt;/span&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;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;입출력 예 #1&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&quot;sun&quot;, &quot;bed&quot;, &quot;car&quot;의 1번째 인덱스 값은 각각 &quot;u&quot;, &quot;e&quot;, &quot;a&quot; 입니다. 이를 기준으로 strings를 정렬하면 [&quot;car&quot;, &quot;bed&quot;, &quot;sun&quot;] 입니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;입출력 예 #2&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&quot;abce&quot;와 &quot;abcd&quot;, &quot;cdx&quot;의 2번째 인덱스 값은 &quot;c&quot;, &quot;c&quot;, &quot;x&quot;입니다. 따라서 정렬 후에는 &quot;cdx&quot;가 가장 뒤에 위치합니다. &quot;abce&quot;와 &quot;abcd&quot;는 사전순으로 정렬하면 &quot;abcd&quot;가 우선하므로, 답은 [&quot;abcd&quot;, &quot;abce&quot;, &quot;cdx&quot;] 입니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  나의 답변&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1700023380403&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;function solution(strings, n) {
    const sortedArr = strings.sort((a, b) =&amp;gt; a[n].charCodeAt() - b[n].charCodeAt());
    return sortedArr.sort((a, b) =&amp;gt; {
        if(a[n].charCodeAt() - b[n].charCodeAt() === 0) {
            return a.localeCompare(b);
        };
    });
}&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;  &lt;code&gt;charCodeAt()&lt;/code&gt; : 문자열에서&amp;nbsp;특정&amp;nbsp;인덱스에&amp;nbsp;해당하는&amp;nbsp;문자의&amp;nbsp;유니코드를&amp;nbsp;반환&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;  &lt;code&gt;localeCompare()&lt;/code&gt; : &lt;span style=&quot;background-color: #f6e199;&quot;&gt;문자열과 문자열 비교&lt;/span&gt;, 두 문자열이 동일하면 0, 아니라면 크기에 따라 양수 또는 음수 반환&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;처음으로 &lt;b&gt;localeCompare&lt;/b&gt; 메서드를 사용하여 풀어보았다. &lt;b&gt;sort&lt;/b&gt; 메서드 내에서 문자열을 비교하고, 그 반환값을 기준으로 정렬하는 방식! 메서드를 알고 나서는 쉽게 풀었지만 좀 헤맨 문제 ..  &lt;/span&gt;&lt;/p&gt;</description>
      <category>프로그래머스/Lv. 1</category>
      <category>JavaScript</category>
      <category>LV1</category>
      <category>문자열 내 마음대로 정렬하기</category>
      <category>자바스크립트</category>
      <category>코딩테스트연습</category>
      <category>프로그래머스</category>
      <author>안댕이</author>
      <guid isPermaLink="true">https://webd.tistory.com/163</guid>
      <comments>https://webd.tistory.com/163#entry163comment</comments>
      <pubDate>Thu, 16 Nov 2023 14:05:38 +0900</pubDate>
    </item>
    <item>
      <title>[프로그래머스] Lv.1 K번째수 / JS</title>
      <link>https://webd.tistory.com/162</link>
      <description>&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  문제 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면&lt;/span&gt;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2에서 나온 배열의 3번째 숫자는 5입니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;배열 array, [i, j, k]를 원소로 가진 2차원 배열 commands가 매개변수로 주어질 때, commands의 모든 원소에 대해 앞서 설명한 연산을 적용했을 때 나온 결과를 배열에 담아 return 하도록 solution 함수를 작성해주세요.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;⭐ 제한사항&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;array의 길이는 1 이상 100 이하입니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;array의 각 원소는 1 이상 100 이하입니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;commands의 길이는 1 이상 50 이하입니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;commands의 각 원소는 길이가 3입니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;표&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;array&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;commands&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;return&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[1, 5, 2, 6, 3, 7, 4]&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[[2, 5, 3], [4, 4, 1], [1, 7, 3]]&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[5, 6, 3]&lt;/span&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;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left; font-family: 'Noto Sans Light';&quot;&gt; [1, 5, 2, 6, 3, 7, 4]를 2번째부터 5번째까지 자른 후 정렬합니다. [2, 3, 5, 6]의 세 번째 숫자는 5입니다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left; font-family: 'Noto Sans Light';&quot;&gt;[1, 5, 2, 6, 3, 7, 4]를 4번째부터 4번째까지 자른 후 정렬합니다. [6]의 첫 번째 숫자는 6입니다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left; font-family: 'Noto Sans Light';&quot;&gt;[1, 5, 2, 6, 3, 7, 4]를 1번째부터 7번째까지 자릅니다. [1, 2, 3, 4, 5, 6, 7]의 세 번째 숫자는 3입니다. &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  나의 답변&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1700023030931&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;function solution(array, commands) {
    return commands.map(([i, j, k]) =&amp;gt; {
        return array.slice(i-1, j).sort((a, b) =&amp;gt; a - b)[k-1];
    });
}&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;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;i부터 j까지 &lt;code&gt;slice&lt;/code&gt; 메서드로 자르고, &lt;code&gt;sort&lt;/code&gt;로 정렬한 배열의 [k-1] 인덱스 위치, 즉 k번째 수를 가져온다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;메서드를 어느정도 공부하고 풀이하니까 쉽고, 간단하게 풀이할 수 있었다.  &lt;/span&gt;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>프로그래머스/Lv. 1</category>
      <category>JavaScript</category>
      <category>K번째수</category>
      <category>LV1</category>
      <category>자바스크립트</category>
      <category>정렬</category>
      <category>코딩테스트연습</category>
      <category>프로그래머스</category>
      <author>안댕이</author>
      <guid isPermaLink="true">https://webd.tistory.com/162</guid>
      <comments>https://webd.tistory.com/162#entry162comment</comments>
      <pubDate>Wed, 15 Nov 2023 13:40:35 +0900</pubDate>
    </item>
    <item>
      <title>[프로그래머스] Lv.1 가장 가까운 같은 글자 / JS</title>
      <link>https://webd.tistory.com/161</link>
      <description>&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  문제 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;문자열&amp;nbsp;s가&amp;nbsp;주어졌을 때,&amp;nbsp;s의 각 위치마다 자신보다 앞에 나왔으면서, 자신과 가장 가까운 곳에 있는 같은 글자가 어디 있는지 알고 싶습니다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;예를 들어,&amp;nbsp;s=&quot;banana&quot;라고 할 때,&amp;nbsp; 각 글자들을 왼쪽부터 오른쪽으로 읽어 나가면서&amp;nbsp;다음과 같이 진행할 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;b는 처음 나왔기 때문에 자신의 앞에 같은 글자가 없습니다. 이는 -1로 표현합니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;a는 처음 나왔기 때문에 자신의 앞에 같은 글자가 없습니다. 이는 -1로 표현합니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;n은 처음 나왔기 때문에 자신의 앞에 같은 글자가 없습니다. 이는 -1로 표현합니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;a는 자신보다 두 칸 앞에 a가 있습니다. 이는 2로 표현합니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;n도&amp;nbsp;자신보다 두 칸 앞에 n이 있습니다. 이는 2로 표현합니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;a는 자신보다 두 칸, 네 칸 앞에 a가 있습니다. 이 중 가까운 것은 두 칸 앞이고, 이는 2로 표현합니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;따라서 최종 결과물은 [-1, -1, -1, 2, 2, 2]가 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;문자열&amp;nbsp;s이 주어질 때, 위와 같이 정의된 연산을 수행하는 함수 solution을 완성해주세요.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;⭐ 제한사항&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1 &amp;le;&amp;nbsp;s의 길이 &amp;le; 10,000&lt;/span&gt;
&lt;ul style=&quot;list-style-type: circle; color: #000000;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;s은 영어 소문자로만 이루어져 있습니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 51px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;s&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;result&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&quot;banana&quot;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[-1, -1, -1, 2, 2, 2]&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&quot;foobar&quot;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[-1, -1, 1, -1, -1, -1]&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;입출력 예 #1&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;지문과 같습니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;입출력 예 #2&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;설명 생략&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  나의 답변&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1698732672521&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;function solution(s) {
    const answer = new Array(s.length).fill(-1);
    
    // 뒤에서부터 비교
    for(let i = s.length-1; i &amp;gt;= 0; i--) {
        // 자기랑 같은 글자가 나올때까지 반복
        for(let j = i-1; j &amp;gt;= 0; j--) {
            // 같은 글자가 나오면 배열 값 변경
            if(s[i] === s[j]) {
                answer[i] = i - j;
                // 가장 가까운 글자이므로 반복 중지
                break;
            };
        }
    }
    
    return answer;
}&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;진짜 여러가지 시도를 해봤으나 모조리 실패...&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;작성한 코드 다 지우고 다시 시작해서 풀어보았다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이중 for문이라 시간복잡도는... 안좋지만... 해결한 것에 의의를 두며 다른 코드 보고 흡수하자  &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;⭐ 참고할 답변&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;pre class=&quot;javascript&quot; style=&quot;background-color: #202b3d; color: #93a1a1; text-align: left;&quot;&gt;&lt;code&gt;function solution(s) {
    const hash={};

    return [...s].map((v,i)=&amp;gt;{
        let result = hash[v] !== undefined ? i - hash[v] : -1;
        hash[v] = i;
        return result;
    });
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;객체를 활용한 풀이&lt;/span&gt;&lt;/p&gt;</description>
      <category>프로그래머스/Lv. 1</category>
      <category>JavaScript</category>
      <category>LV1</category>
      <category>가장가까운같은글자</category>
      <category>자바스크립트</category>
      <category>코딩테스트연습</category>
      <category>프로그래머스</category>
      <author>안댕이</author>
      <guid isPermaLink="true">https://webd.tistory.com/161</guid>
      <comments>https://webd.tistory.com/161#entry161comment</comments>
      <pubDate>Tue, 31 Oct 2023 15:13:09 +0900</pubDate>
    </item>
    <item>
      <title>[프로그래머스] Lv.1 숫자 문자열과 영단어 / JS</title>
      <link>https://webd.tistory.com/159</link>
      <description>&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  문제 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left; font-family: 'Noto Sans Light';&quot;&gt; 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;다음은 숫자의 일부 자릿수를 영단어로 바꾸는 예시입니다.&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1478 &amp;rarr; &quot;one4seveneight&quot;&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;234567 &amp;rarr; &quot;23four5six7&quot;&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;10203 &amp;rarr; &quot;1zerotwozero3&quot;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이렇게 숫자의 일부 자릿수가 영단어로 바뀌어졌거나, 혹은 바뀌지 않고 그대로인 문자열&amp;nbsp;s가 매개변수로 주어집니다.&amp;nbsp;s가 의미하는 원래 숫자를 return 하도록 solution 함수를 완성해주세요.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;참고로 각 숫자에 대응되는 영단어는 다음 표와 같습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;158&quot; data-origin-height=&quot;401&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mjIIj/btszvFnxPfo/Qn6fBs25xdyCzemyDy5iwK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mjIIj/btszvFnxPfo/Qn6fBs25xdyCzemyDy5iwK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mjIIj/btszvFnxPfo/Qn6fBs25xdyCzemyDy5iwK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmjIIj%2FbtszvFnxPfo%2FQn6fBs25xdyCzemyDy5iwK%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;158&quot; height=&quot;401&quot; data-origin-width=&quot;158&quot; data-origin-height=&quot;401&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;⭐ 제한사항&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1 &amp;le;&amp;nbsp;s의 길이 &amp;le; 50&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;s가 &quot;zero&quot; 또는 &quot;0&quot;으로 시작하는 경우는 주어지지 않습니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;return 값이 1 이상 2,000,000,000 이하의 정수가 되는 올바른 입력만&amp;nbsp;s로 주어집니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;s&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;result&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&quot;one4seveneight&quot;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1478&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&quot;23four5six7&quot;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;234567&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&quot;2three45sixseven&quot;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;234567&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&quot;123&quot;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;123&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  나의 답변&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1698728367178&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;function solution(s) {
    let answer = '';
    
    answer = s.replaceAll(/zero/g, 0)
        .replaceAll(/one/g, 1)
        .replaceAll(/two/g, 2)
        .replaceAll(/three/g, 3)
        .replaceAll(/four/g, 4)
        .replaceAll(/five/g, 5)
        .replaceAll(/six/g, 6)
        .replaceAll(/seven/g, 7)
        .replaceAll(/eight/g, 8).replaceAll(/nine/g, 9);
    
    return Number(answer);
}&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;세미 노가다(?)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;replaceAll() 메서드를 사용해서 풀어보았다.&lt;/span&gt;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;⭐ 참고할 답변&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;pre class=&quot;matlab&quot; style=&quot;background-color: #202b3d; color: #93a1a1; text-align: left;&quot;&gt;&lt;code&gt;function solution(s) {
    let numbers = [&quot;zero&quot;, &quot;one&quot;, &quot;two&quot;, &quot;three&quot;, &quot;four&quot;, &quot;five&quot;, &quot;six&quot;, &quot;seven&quot;, &quot;eight&quot;, &quot;nine&quot;];
    var answer = s;

    for(let i=0; i&amp;lt; numbers.length; i++) {
        let arr = answer.split(numbers[i]);
        answer = arr.join(i);
    }

    return Number(answer);
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;code&gt;split()&lt;/code&gt; 메서드를 활용한 풀이..&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;code&gt;numbers[i]&lt;/code&gt;를 구분자로 사용하여 나누고, 숫자인 i를 기준으로 &lt;code&gt;join(i)&lt;/code&gt;을 활용해 붙여주기를 반복한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이런 사고가 가능할 때까지 열심히 풀어보자...  &lt;/span&gt;&lt;/p&gt;</description>
      <category>프로그래머스/Lv. 1</category>
      <category>2021카카오채용연계형인턴십</category>
      <category>JavaScript</category>
      <category>LV1</category>
      <category>숫자문자열과영단어</category>
      <category>자바스크립트</category>
      <category>코딩테스트연습</category>
      <category>프로그래머스</category>
      <author>안댕이</author>
      <guid isPermaLink="true">https://webd.tistory.com/159</guid>
      <comments>https://webd.tistory.com/159#entry159comment</comments>
      <pubDate>Tue, 31 Oct 2023 14:04:07 +0900</pubDate>
    </item>
    <item>
      <title>[프로그래머스] Lv.1 시저 암호/ JS</title>
      <link>https://webd.tistory.com/158</link>
      <description>&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  문제 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left; font-family: 'Noto Sans Light';&quot;&gt; 어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 &quot;AB&quot;는 1만큼 밀면 &quot;BC&quot;가 되고, 3만큼 밀면 &quot;DE&quot;가 됩니다. &quot;z&quot;는 1만큼 밀면 &quot;a&quot;가 됩니다. 문자열 s와 거리 n을 입력받아 s를 n만큼 민 암호문을 만드는 함수, solution을 완성해 보세요. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;⭐ 제한사항&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;공백은 아무리 밀어도 공백입니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;s는 알파벳 소문자, 대문자, 공백으로만 이루어져 있습니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;s의 길이는 8000이하입니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;n은 1 이상, 25이하인 자연수입니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 68px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;s&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;n&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;result&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&quot;AB&quot;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&quot;BC&quot;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&quot;z&quot;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&quot;a&quot;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&quot;a B z&quot;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;4&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&quot;e F d&quot;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  나의 답변&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1698727928562&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;function solution(s, n) {
    const A = [ 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',
  'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];
    const a = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',
  'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'];
    
    const arr = [];
    
    [...s].forEach((v, i) =&amp;gt; {
        if(v === &quot; &quot;) {
            arr.push(&quot; &quot;);
        } else {
            if(v.match(/[A-Z]/g)) {
                A[A.indexOf(v)+n] === undefined
                ? arr.push(A[(A.indexOf(v)+n)-26])
                : arr.push(A[A.indexOf(v)+n]);
            } else {
                a[a.indexOf(v)+n] === undefined
                ? arr.push(a[(a.indexOf(v)+n)-26])
                : arr.push(a[a.indexOf(v)+n]);
            }
        }
    });
    
    return arr.join(&quot;&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;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;대문자와 소문자 각각 담긴 배열을 생성하여 풀어봤다  &lt;/span&gt;&lt;/p&gt;</description>
      <category>프로그래머스/Lv. 1</category>
      <category>JavaScript</category>
      <category>LV1</category>
      <category>시저암호</category>
      <category>자바스크립트</category>
      <category>코딩테스트연습</category>
      <category>프로그래머스</category>
      <author>안댕이</author>
      <guid isPermaLink="true">https://webd.tistory.com/158</guid>
      <comments>https://webd.tistory.com/158#entry158comment</comments>
      <pubDate>Tue, 31 Oct 2023 13:55:44 +0900</pubDate>
    </item>
    <item>
      <title>[Vanilla JS] 숫자 상승 애니메이션 / 카운트 애니메이션</title>
      <link>https://webd.tistory.com/157</link>
      <description>&lt;h4 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;  목표&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;0부터 원하는 숫자까지 숫자가 상승하는 애니메이션 구현&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;  HTML&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1698393445533&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;h2 id=&quot;count&quot;&amp;gt;&amp;lt;/h2&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;  CSS&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1698393437565&quot; class=&quot;css&quot; data-ke-language=&quot;css&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#count { font-size: 30px; }&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;  JavaScript&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1698393146404&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;let countBox = document.querySelector('#count');
let count = 0;
let num = 1234567890;

let counting = setInterval(function () {
    if (count &amp;gt;= num) {
        count = num;
        clearInterval(counting);
    } else {
        count += 12345678;
    }
    countBox.innerHTML = new Intl.NumberFormat().format(count);
}, 10);&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;  결과물&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;&lt;iframe src=&quot;https://codepen.io/AnJunghee/embed/YzOgEyQ?default-tab=js%2Cresult&quot; width=&quot;100%&quot; height=&quot;300&quot; frameborder=&quot;no&quot; scrolling=&quot;no&quot; allowfullscreen=&quot;true&quot;&gt;
  See the Pen &lt;a href=&quot;https://codepen.io/AnJunghee/pen/YzOgEyQ&quot;&gt;
  Count Animation&lt;/a&gt; by AnJunghee (&lt;a href=&quot;https://codepen.io/AnJunghee&quot;&gt;@AnJunghee&lt;/a&gt;)
  on &lt;a href=&quot;https://codepen.io&quot;&gt;CodePen&lt;/a&gt;.
&lt;/iframe&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&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;a title=&quot;html 아이콘&quot; href=&quot;https://www.flaticon.com/kr/free-icons/html&quot;&gt;Html 아이콘 제작자: Freepik - Flaticon&lt;/a&gt;&lt;br /&gt;&lt;a title=&quot;css 아이콘&quot; href=&quot;https://www.flaticon.com/kr/free-icons/css&quot;&gt;Css 아이콘 제작자: Freepik - Flaticon&lt;/a&gt;&lt;br /&gt;&lt;a title=&quot;자바 스크립트 아이콘&quot; href=&quot;https://www.flaticon.com/kr/free-icons/-&quot;&gt;자바 스크립트 아이콘 제작자: Rmpp - Flaticon&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;figure id=&quot;og_1698370937245&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;11,072종의 무료 html 아이콘&quot; data-og-description=&quot;SVG, PSD, PNG, EPS 포맷 또는 웹폰트로 제공되는 11,072종 이상의 html 아이콘을 다운로드받으세요. 최대의 무료 아이콘 데이터베이스 - Flaticon.&quot; data-og-host=&quot;www.flaticon.com&quot; data-og-source-url=&quot;https://www.flaticon.com/kr/free-icons/html&quot; data-og-url=&quot;https://www.flaticon.com/kr/free-icons/https%3A%2F%2Fwww.flaticon.com%2Fkr%2Ffree-icons%2Fhtml&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/wRdEe/hyUlukXq0s/dJNQo3QjKasDkTkA8bLP4k/img.jpg?width=2161&amp;amp;height=1217&amp;amp;face=0_0_2161_1217,https://scrap.kakaocdn.net/dn/LaxLp/hyUlsObsQD/eKIq0OrHzszg6TC4Hggcdk/img.jpg?width=2161&amp;amp;height=1217&amp;amp;face=0_0_2161_1217&quot;&gt;&lt;a href=&quot;https://www.flaticon.com/kr/free-icons/html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.flaticon.com/kr/free-icons/html&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/wRdEe/hyUlukXq0s/dJNQo3QjKasDkTkA8bLP4k/img.jpg?width=2161&amp;amp;height=1217&amp;amp;face=0_0_2161_1217,https://scrap.kakaocdn.net/dn/LaxLp/hyUlsObsQD/eKIq0OrHzszg6TC4Hggcdk/img.jpg?width=2161&amp;amp;height=1217&amp;amp;face=0_0_2161_1217');&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;11,072종의 무료 html 아이콘&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;SVG, PSD, PNG, EPS 포맷 또는 웹폰트로 제공되는 11,072종 이상의 html 아이콘을 다운로드받으세요. 최대의 무료 아이콘 데이터베이스 - Flaticon.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.flaticon.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>퍼블리싱/Vanilla JS</category>
      <category>CSS</category>
      <category>HTML</category>
      <category>JavaScript</category>
      <category>vanillajs</category>
      <category>웹퍼블리싱</category>
      <category>카운트애니메이션</category>
      <author>안댕이</author>
      <guid isPermaLink="true">https://webd.tistory.com/157</guid>
      <comments>https://webd.tistory.com/157#entry157comment</comments>
      <pubDate>Fri, 27 Oct 2023 16:58:06 +0900</pubDate>
    </item>
    <item>
      <title>[Vanilla JS] 스크롤 이벤트 구현 Scroll Event</title>
      <link>https://webd.tistory.com/156</link>
      <description>&lt;h4 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;  목표&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;외부 라이브러리 없이 바닐라JS로 스크롤 이벤트 구현&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;  HTML&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1698391683184&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;div class=&quot;wrap&quot;&amp;gt;
  &amp;lt;header id=&quot;header&quot;&amp;gt;Header&amp;lt;/header&amp;gt;
  &amp;lt;body id=&quot;body&quot;&amp;gt;
    &amp;lt;div class=&quot;scroll scrollRight&quot;&amp;gt;Go Right&amp;lt;/div&amp;gt;
    &amp;lt;div class=&quot;scroll scrollLeft&quot;&amp;gt;Go Left&amp;lt;/div&amp;gt;
    &amp;lt;div class=&quot;scroll scrollUp&quot;&amp;gt;Go Up&amp;lt;/div&amp;gt;
    &amp;lt;div class=&quot;scroll scrollDown&quot;&amp;gt;Go Down&amp;lt;/div&amp;gt;
    &amp;lt;div class=&quot;delayScale&quot;&amp;gt;
      &amp;lt;ul&amp;gt;
        &amp;lt;li class=&quot;delayList&quot;&amp;gt;1&amp;lt;/li&amp;gt;
        &amp;lt;li class=&quot;delayList&quot;&amp;gt;2&amp;lt;/li&amp;gt;
        &amp;lt;li class=&quot;delayList&quot;&amp;gt;3&amp;lt;/li&amp;gt;
      &amp;lt;/ul&amp;gt;
    &amp;lt;/div&amp;gt;
  &amp;lt;/body&amp;gt;
&amp;lt;/div&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;  CSS&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1698391710184&quot; class=&quot;css&quot; data-ke-language=&quot;css&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;/* reset */
.wrap { width: 100%; margin: 0 auto; background-color: #eee; }
li { list-style: none; }

#header,
#body { width: 50vw; margin: 0 auto; text-align: center; }
#header { position: sticky; top: 0; left: 0; height: 5vw;  margin-bottom: 20vw; line-height: 5vw;  background-color: #ccc; z-index: 999; }
#body .scroll { margin: 20vw auto; border-radius: 50%; }
#body .scroll,
#body .delayScale .delayList { width: 15vw; height: 15vw; line-height: 15vw;}
#body .delayScale ul { display: flex; align-items: center; justify-content: space-between; padding-left: 0; }
#body .delayScale ul.on .delayList { animation: scale 1s 1 forwards; background-color: #ff8181; opacity: 0; }

/* background color */
#body .scroll.scrollUp { background-color: #81d1ff; }
#body .scroll.scrollDown { background-color: #ff81a7; }
#body .scroll.scrollLeft { background-color: #fff281; }
#body .scroll.scrollRight { background-color: #ff8181; }

/* scroll */
.scroll { opacity: 0; transition: 0.8s; }
.scrollRight { transform: translate(-20vw, 0); }
.scrollLeft { transform: translate(20vw, 0); }
.scrollUp { transform: translate(0, 10vw); }
.scrollDown { transform: translate(0, -10vw); }
.scrollAction { opacity: 1; transform: translate(0); }

/* animation */
@keyframes opacity {
    0% { opacity: 0; }
    100% { opacity: 1; }
}
@keyframes scale {
    0% { opacity: 0; transform: scale(0); }
    100% { opacity: 1; transform: scale(1); }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;  JavaScript&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1698391728040&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// Header 포함 높이 계산
const windowHeightWithHeader = window.innerHeight + document.querySelector(&quot;#header&quot;).offsetHeight;

// 스크롤 이벤트 핸들러
function scrollAction() {
  const scrollElements = document.querySelectorAll(&quot;.scroll&quot;);

  if (!scrollElements) {
    return;
  }

  scrollElements.forEach((scrollElement) =&amp;gt; {
    const scrollHeight = scrollElement.getBoundingClientRect().top + 200;
    scrollElement.classList.toggle(&quot;scrollAction&quot;, windowHeightWithHeader &amp;gt; scrollHeight);
  });
}

// 애니메이션 이벤트 핸들러
function scaleEvent(selector) {
  const imgWrap = document.querySelector(selector);
  const imgWrapHeight = imgWrap &amp;amp;&amp;amp; imgWrap.getBoundingClientRect().top;
  if (imgWrap &amp;amp;&amp;amp; imgWrapHeight) {
    imgWrap.classList.toggle(&quot;on&quot;, windowHeightWithHeader &amp;gt; imgWrapHeight);
  }
}

// 애니메이션 delay 설정
function aniDelay(elements, delay) {
  elements.forEach((element, index) =&amp;gt; {
    element.style.animationDelay = delay * index + &quot;s&quot;;
  });
}

// 실행
const delayList = document.querySelectorAll('.delayList');

document.addEventListener(&quot;scroll&quot;, function() {
  scrollAction();
  scaleEvent('.delayScale ul');
});

document.addEventListener(&quot;DOMContentLoaded&quot;, function() {
  aniDelay(delayList, 0.3);
});&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;  결과물&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;iframe src=&quot;https://codepen.io/AnJunghee/embed/yLxwpzb?default-tab=js%2Cresult&quot; width=&quot;100%&quot; height=&quot;400&quot; frameborder=&quot;no&quot; scrolling=&quot;no&quot; allowfullscreen=&quot;true&quot;&gt;
  See the Pen &lt;a href=&quot;https://codepen.io/AnJunghee/pen/yLxwpzb&quot;&gt;
  Scroll Event&lt;/a&gt; by AnJunghee (&lt;a href=&quot;https://codepen.io/AnJunghee&quot;&gt;@AnJunghee&lt;/a&gt;)
  on &lt;a href=&quot;https://codepen.io&quot;&gt;CodePen&lt;/a&gt;.
&lt;/iframe&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&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;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;a title=&quot;html 아이콘&quot; href=&quot;https://www.flaticon.com/kr/free-icons/html&quot;&gt;Html 아이콘 제작자: Freepik - Flaticon&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;a title=&quot;css 아이콘&quot; href=&quot;https://www.flaticon.com/kr/free-icons/css&quot;&gt;Css 아이콘 제작자: Freepik - Flaticon&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;a title=&quot;자바 스크립트 아이콘&quot; href=&quot;https://www.flaticon.com/kr/free-icons/-&quot;&gt;자바 스크립트 아이콘 제작자: Rmpp - Flaticon&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;figure id=&quot;og_1698370937245&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;11,072종의 무료 html 아이콘&quot; data-og-description=&quot;SVG, PSD, PNG, EPS 포맷 또는 웹폰트로 제공되는 11,072종 이상의 html 아이콘을 다운로드받으세요. 최대의 무료 아이콘 데이터베이스 - Flaticon.&quot; data-og-host=&quot;www.flaticon.com&quot; data-og-source-url=&quot;https://www.flaticon.com/kr/free-icons/html&quot; data-og-url=&quot;https://www.flaticon.com/kr/free-icons/https%3A%2F%2Fwww.flaticon.com%2Fkr%2Ffree-icons%2Fhtml&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/wRdEe/hyUlukXq0s/dJNQo3QjKasDkTkA8bLP4k/img.jpg?width=2161&amp;amp;height=1217&amp;amp;face=0_0_2161_1217,https://scrap.kakaocdn.net/dn/LaxLp/hyUlsObsQD/eKIq0OrHzszg6TC4Hggcdk/img.jpg?width=2161&amp;amp;height=1217&amp;amp;face=0_0_2161_1217&quot;&gt;&lt;a href=&quot;https://www.flaticon.com/kr/free-icons/html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.flaticon.com/kr/free-icons/html&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/wRdEe/hyUlukXq0s/dJNQo3QjKasDkTkA8bLP4k/img.jpg?width=2161&amp;amp;height=1217&amp;amp;face=0_0_2161_1217,https://scrap.kakaocdn.net/dn/LaxLp/hyUlsObsQD/eKIq0OrHzszg6TC4Hggcdk/img.jpg?width=2161&amp;amp;height=1217&amp;amp;face=0_0_2161_1217');&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;11,072종의 무료 html 아이콘&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;SVG, PSD, PNG, EPS 포맷 또는 웹폰트로 제공되는 11,072종 이상의 html 아이콘을 다운로드받으세요. 최대의 무료 아이콘 데이터베이스 - Flaticon.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.flaticon.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>퍼블리싱/Vanilla JS</category>
      <category>CSS</category>
      <category>HTML</category>
      <category>JavaScript</category>
      <category>vanillajs</category>
      <category>스크롤이벤트</category>
      <category>웹퍼블리싱</category>
      <author>안댕이</author>
      <guid isPermaLink="true">https://webd.tistory.com/156</guid>
      <comments>https://webd.tistory.com/156#entry156comment</comments>
      <pubDate>Fri, 27 Oct 2023 16:34:33 +0900</pubDate>
    </item>
    <item>
      <title>[Vanilla JS] 무한 슬라이더 구현</title>
      <link>https://webd.tistory.com/155</link>
      <description>&lt;h4 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;  목표&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;외부 라이브러리를 사용하지 않고, 계속해서 반복되는 무한 슬라이더 구현 &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;(마지막 슬라이드에 도달하면 다시 첫번째 슬라이드로)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;자동으로 넘어갈 것&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;  HTML&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1698387338950&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;div id=&quot;sliderWrap&quot;&amp;gt;
  &amp;lt;ul class=&quot;slider&quot;&amp;gt;
    &amp;lt;li&amp;gt;
      &amp;lt;div class=&quot;itemWrap&quot;&amp;gt;&amp;lt;/div&amp;gt;
    &amp;lt;/li&amp;gt;
    &amp;lt;li&amp;gt;
      &amp;lt;div class=&quot;itemWrap&quot;&amp;gt;&amp;lt;/div&amp;gt;
    &amp;lt;/li&amp;gt;
    &amp;lt;li&amp;gt;
      &amp;lt;div class=&quot;itemWrap&quot;&amp;gt;&amp;lt;/div&amp;gt;
    &amp;lt;/li&amp;gt;
  &amp;lt;/ul&amp;gt;
  &amp;lt;div id=&quot;btn&quot; class=&quot;directionNav&quot;&amp;gt;
    &amp;lt;button id=&quot;prev&quot; class=&quot;btn&quot;&amp;gt;prev&amp;lt;/button&amp;gt;
    &amp;lt;button id=&quot;next&quot; class=&quot;btn&quot;&amp;gt;next&amp;lt;/button&amp;gt;
  &amp;lt;/div&amp;gt;
  &amp;lt;ul class=&quot;dot&quot;&amp;gt;
    &amp;lt;li class=&quot;dots on&quot;&amp;gt;btn01&amp;lt;/li&amp;gt;
    &amp;lt;li class=&quot;dots&quot;&amp;gt;btn02&amp;lt;/li&amp;gt;
    &amp;lt;li class=&quot;dots&quot;&amp;gt;btn03&amp;lt;/li&amp;gt;
  &amp;lt;/ul&amp;gt;
&amp;lt;/div&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;  CSS&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1698387362565&quot; class=&quot;css&quot; data-ke-language=&quot;css&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;/* reset */
li { list-style: none; }
button { border: none; }
div, ul, li, button { margin: 0; padding: 0; }

#sliderWrap { position: relative; width: 300px; height: 200px; overflow: hidden; }

/* slide item */
#sliderWrap .slider { position: absolute; top: 0; left: 0; height: 100%;}
#sliderWrap .slider li { float: left; position: relative; top: 0; left: 0; height: 100%; }
#sliderWrap .slider li .itemWrap { width: 100%; height: 100%; text-align: center; }

/* item background color */
#sliderWrap .slider li:nth-child(1) .itemWrap { background-color: #ff8181; }
#sliderWrap .slider li:nth-child(2) .itemWrap { background-color: #fff281; }
#sliderWrap .slider li:nth-child(3) .itemWrap { background-color: #81d1ff; }

/* button */
#sliderWrap .directionNav { position: relative; width: 100%; height: 100%; }
#sliderWrap .directionNav button { position: absolute; top: 50%; transform: translateY(-50%); width: 20px; height: 20px; font-size: 0; background: none; cursor: pointer; }
#sliderWrap .directionNav button::after { display: block; content: &quot;&quot;; width: 100%; height: 100%; border-right: 3px solid #000; border-top: 3px solid #000; transform: rotate(45deg); opacity: 0.6; }
#sliderWrap .directionNav button#prev { left: 20px; }
#sliderWrap .directionNav button#prev::after { transform: rotate(-135deg); }
#sliderWrap .directionNav button#next { right: 20px; } 

/* pagination */
.dot { position: absolute; bottom: 10px; left: 50%; transform: translateX(-50%); }
.dot li { float: left; width: 10px; height: 10px; margin: 0 4px; border-radius: 50px; background: #000; opacity: 0.3; text-indent: -9999px; cursor: pointer; }
.dot li.on { opacity: 1; }&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;  JavaScript&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1698387379037&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;function initializeSlider() {
  const slideWrapper = document.getElementById('sliderWrap');
  const slider = document.querySelector('#sliderWrap .slider');
  const slides = document.querySelectorAll('#sliderWrap .slider li');
  const sliderWidth = slideWrapper.clientWidth;
  const totalSlides = slides.length;
  
  let slideIndex = 0;
  let autoSlider;

  // Set slide widths
  slides.forEach(function (element) {
    element.style.width = sliderWidth + 'px';
  });

  slider.style.width = sliderWidth * totalSlides + 'px';

  // Next, Prev, Pagination
  const nextBtn = document.getElementById('next');
  const prevBtn = document.getElementById('prev');
  const dot = document.querySelector('.dot');
  const allBtn = document.getElementById('btn');

  function plusSlides(n) {
    showSlides(slideIndex + n);
  }

  function showSlides(n) {
    slideIndex = (n + totalSlides) % totalSlides;
    slider.style.left = -(sliderWidth * slideIndex) + 'px';
    pagination();
  }

  function currentSlides(n) {
    showSlides(n);
  }

  function pagination() {
    const dots = document.querySelectorAll('.dot li');
    dots.forEach(function (element) {
      element.classList.remove('on');
    });
    dots[slideIndex].classList.add('on');
  }

  // Handle dot clicks
  dot.addEventListener('click', function (event) {
    if (event.target.tagName === 'LI') {
      showSlides(Array.from(event.target.parentNode.children).indexOf(event.target));
    }
  });

  // Handle button clicks
  nextBtn.addEventListener('click', function () {
    plusSlides(1);
  });

  prevBtn.addEventListener('click', function () {
    plusSlides(-1);
  });

  // Handle hover
  const hoverElements = [allBtn, dot];

  hoverElements.forEach(function (element) {
    element.addEventListener('mouseover', function () {
      this.classList.add('active');
      clearInterval(autoSlider);
    });

    element.addEventListener('mouseleave', function () {
      this.classList.remove('active');
      startAutoSlider();
    });
  });

  // Auto slider
  function startAutoSlider() {
    autoSlider = setInterval(function () {
      plusSlides(1);
    }, 3000);
  }

  // Initialize auto slider
  startAutoSlider();
}

// 호출하여 슬라이더 초기화
initializeSlider();&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;  결과물&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;iframe src=&quot;https://codepen.io/AnJunghee/embed/RwYdxEb?default-tab=js%2Cresult&quot; width=&quot;100%&quot; height=&quot;300&quot; frameborder=&quot;no&quot; scrolling=&quot;no&quot; allowfullscreen=&quot;true&quot;&gt;
  See the Pen &lt;a href=&quot;https://codepen.io/AnJunghee/pen/RwYdxEb&quot;&gt;
  slider 01&lt;/a&gt; by AnJunghee (&lt;a href=&quot;https://codepen.io/AnJunghee&quot;&gt;@AnJunghee&lt;/a&gt;)
  on &lt;a href=&quot;https://codepen.io&quot;&gt;CodePen&lt;/a&gt;.
&lt;/iframe&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&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;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;a title=&quot;html 아이콘&quot; href=&quot;https://www.flaticon.com/kr/free-icons/html&quot;&gt;Html 아이콘 제작자: Freepik - Flaticon&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;a title=&quot;css 아이콘&quot; href=&quot;https://www.flaticon.com/kr/free-icons/css&quot;&gt;Css 아이콘 제작자: Freepik - Flaticon&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;a title=&quot;자바 스크립트 아이콘&quot; href=&quot;https://www.flaticon.com/kr/free-icons/-&quot;&gt;자바 스크립트 아이콘 제작자: Rmpp - Flaticon&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;figure id=&quot;og_1698370937245&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;11,072종의 무료 html 아이콘&quot; data-og-description=&quot;SVG, PSD, PNG, EPS 포맷 또는 웹폰트로 제공되는 11,072종 이상의 html 아이콘을 다운로드받으세요. 최대의 무료 아이콘 데이터베이스 - Flaticon.&quot; data-og-host=&quot;www.flaticon.com&quot; data-og-source-url=&quot;https://www.flaticon.com/kr/free-icons/html&quot; data-og-url=&quot;https://www.flaticon.com/kr/free-icons/https%3A%2F%2Fwww.flaticon.com%2Fkr%2Ffree-icons%2Fhtml&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/wRdEe/hyUlukXq0s/dJNQo3QjKasDkTkA8bLP4k/img.jpg?width=2161&amp;amp;height=1217&amp;amp;face=0_0_2161_1217,https://scrap.kakaocdn.net/dn/LaxLp/hyUlsObsQD/eKIq0OrHzszg6TC4Hggcdk/img.jpg?width=2161&amp;amp;height=1217&amp;amp;face=0_0_2161_1217&quot;&gt;&lt;a href=&quot;https://www.flaticon.com/kr/free-icons/html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.flaticon.com/kr/free-icons/html&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/wRdEe/hyUlukXq0s/dJNQo3QjKasDkTkA8bLP4k/img.jpg?width=2161&amp;amp;height=1217&amp;amp;face=0_0_2161_1217,https://scrap.kakaocdn.net/dn/LaxLp/hyUlsObsQD/eKIq0OrHzszg6TC4Hggcdk/img.jpg?width=2161&amp;amp;height=1217&amp;amp;face=0_0_2161_1217');&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;11,072종의 무료 html 아이콘&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;SVG, PSD, PNG, EPS 포맷 또는 웹폰트로 제공되는 11,072종 이상의 html 아이콘을 다운로드받으세요. 최대의 무료 아이콘 데이터베이스 - Flaticon.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.flaticon.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>퍼블리싱/Vanilla JS</category>
      <category>CSS</category>
      <category>HTML</category>
      <category>JavaScript</category>
      <category>vanillajs</category>
      <category>무한슬라이드</category>
      <category>웹퍼블리싱</category>
      <author>안댕이</author>
      <guid isPermaLink="true">https://webd.tistory.com/155</guid>
      <comments>https://webd.tistory.com/155#entry155comment</comments>
      <pubDate>Fri, 27 Oct 2023 15:46:40 +0900</pubDate>
    </item>
    <item>
      <title>[CSS] 서서히 증가하는 막대 그래프 구현</title>
      <link>https://webd.tistory.com/154</link>
      <description>&lt;h4 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;  목표&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;서서히 증가하는 막대그래프 구현&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;  HTML&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1698385078504&quot; class=&quot;css&quot; data-ke-language=&quot;css&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;div class=&quot;graphWrap&quot;&amp;gt;
  &amp;lt;div class=&quot;graph&quot; &amp;gt;
    &amp;lt;div id=&quot;item1&quot; class=&quot;p-100&quot;&amp;gt;&amp;lt;/div&amp;gt;
    &amp;lt;div id=&quot;item2&quot; class=&quot;p-50&quot;&amp;gt;&amp;lt;/div&amp;gt;
  &amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;  CSS&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1698385088033&quot; class=&quot;css&quot; data-ke-language=&quot;css&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;/* reset */
ul { list-style: none; }
div, ul, li { margin: 0; padding: 0; }

/* 그래프 */
.graphWrap { position: relative; width: 300px; height: 300px; margin: 20px auto 0; border-left: 1px solid #aaa; border-bottom: 1px solid #aaa;  }
.graphWrap .graph &amp;gt; div { position: absolute; bottom: 0; width: 69px; border-radius: 50px 50px 0 0; }
.graphWrap .graph &amp;gt; div#item1 { left: 60px; background: #ddd; }
.graphWrap .graph &amp;gt; div#item2 { left: 180px; background: #aaa; }

/* 애니메이션 */
.p-100{ height: 300px; animation:p-100 2s; }
.p-50 { height: 150px; animation:p-50 2s; }

@keyframes p-100{from{height:0px}to{height: 300px}}
@keyframes p-50{from{height:0px}to{height: 150px}}&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;  결과물&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;iframe src=&quot;https://codepen.io/AnJunghee/embed/GRXeQBm?default-tab=js%2Cresult&quot; width=&quot;100%&quot; height=&quot;420&quot; frameborder=&quot;no&quot; scrolling=&quot;no&quot; allowfullscreen=&quot;true&quot;&gt;
  See the Pen &lt;a href=&quot;https://codepen.io/AnJunghee/pen/GRXeQBm&quot;&gt;
  Vertical Graph&lt;/a&gt; by AnJunghee (&lt;a href=&quot;https://codepen.io/AnJunghee&quot;&gt;@AnJunghee&lt;/a&gt;)
  on &lt;a href=&quot;https://codepen.io&quot;&gt;CodePen&lt;/a&gt;.
&lt;/iframe&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&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;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;a title=&quot;html 아이콘&quot; href=&quot;https://www.flaticon.com/kr/free-icons/html&quot;&gt;Html 아이콘 제작자: Freepik - Flaticon&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;a title=&quot;css 아이콘&quot; href=&quot;https://www.flaticon.com/kr/free-icons/css&quot;&gt;Css 아이콘 제작자: Freepik - Flaticon&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;a title=&quot;자바 스크립트 아이콘&quot; href=&quot;https://www.flaticon.com/kr/free-icons/-&quot;&gt;자바 스크립트 아이콘 제작자: Rmpp - Flaticon&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;figure id=&quot;og_1698370937245&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;11,072종의 무료 html 아이콘&quot; data-og-description=&quot;SVG, PSD, PNG, EPS 포맷 또는 웹폰트로 제공되는 11,072종 이상의 html 아이콘을 다운로드받으세요. 최대의 무료 아이콘 데이터베이스 - Flaticon.&quot; data-og-host=&quot;www.flaticon.com&quot; data-og-source-url=&quot;https://www.flaticon.com/kr/free-icons/html&quot; data-og-url=&quot;https://www.flaticon.com/kr/free-icons/https%3A%2F%2Fwww.flaticon.com%2Fkr%2Ffree-icons%2Fhtml&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/wRdEe/hyUlukXq0s/dJNQo3QjKasDkTkA8bLP4k/img.jpg?width=2161&amp;amp;height=1217&amp;amp;face=0_0_2161_1217,https://scrap.kakaocdn.net/dn/LaxLp/hyUlsObsQD/eKIq0OrHzszg6TC4Hggcdk/img.jpg?width=2161&amp;amp;height=1217&amp;amp;face=0_0_2161_1217&quot;&gt;&lt;a href=&quot;https://www.flaticon.com/kr/free-icons/html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.flaticon.com/kr/free-icons/html&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/wRdEe/hyUlukXq0s/dJNQo3QjKasDkTkA8bLP4k/img.jpg?width=2161&amp;amp;height=1217&amp;amp;face=0_0_2161_1217,https://scrap.kakaocdn.net/dn/LaxLp/hyUlsObsQD/eKIq0OrHzszg6TC4Hggcdk/img.jpg?width=2161&amp;amp;height=1217&amp;amp;face=0_0_2161_1217');&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;11,072종의 무료 html 아이콘&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;SVG, PSD, PNG, EPS 포맷 또는 웹폰트로 제공되는 11,072종 이상의 html 아이콘을 다운로드받으세요. 최대의 무료 아이콘 데이터베이스 - Flaticon.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.flaticon.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>퍼블리싱/CSS</category>
      <category>CSS</category>
      <category>HTML</category>
      <category>막대그래프</category>
      <category>웹퍼블리싱</category>
      <author>안댕이</author>
      <guid isPermaLink="true">https://webd.tistory.com/154</guid>
      <comments>https://webd.tistory.com/154#entry154comment</comments>
      <pubDate>Fri, 27 Oct 2023 14:47:05 +0900</pubDate>
    </item>
    <item>
      <title>[Vanilla JS] 무한루프 슬라이더 구현</title>
      <link>https://webd.tistory.com/153</link>
      <description>&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;외부 라이브러리를 사용하지 않고, 멈추지 않고 계속 반복하여 보여주는 무한루프 슬라이더 구현&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;응용하여 띠배너로 사용!&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;  HTML&lt;/b&gt;&lt;/h4&gt;
&lt;pre class=&quot;html xml&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;html&quot;&gt;&lt;code&gt;&amp;lt;div&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;div class=&quot;slideWrap&quot;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;ul class=&quot;imgSlide&quot;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;li&amp;gt;01&amp;lt;/li&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;li&amp;gt;02&amp;lt;/li&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;li&amp;gt;03&amp;lt;/li&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;li&amp;gt;04&amp;lt;/li&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;li&amp;gt;05&amp;lt;/li&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;li&amp;gt;06&amp;lt;/li&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/ul&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;&lt;/code&gt;&lt;/pre&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;  CSS&lt;/b&gt;&lt;/h4&gt;
&lt;pre class=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;javascript&quot;&gt;&lt;code&gt;/* reset */
section { width: 100%; }
li { display: inline-block; list-style: none; }

/* 슬라이드 */
.slideWrap { display: flex; position: relative; top: 0; left: 0; height: 200px; overflow: hidden;&amp;nbsp;&amp;nbsp;}
.slideWrap .imgSlide { display: flex; align-items: center; justify-content: space-between; padding-left: 0; }
.slideWrap .imgSlide.original { animation: 30s linear 0s infinite normal forwards running slide01; }
.slideWrap .imgSlide.clone { animation: 30s linear 0s infinite normal none running slide02; }
.slideWrap .imgSlide li { width: 200px; height: 200px; line-height: 200px; margin-right: 5vw; background-color: #ccc; text-align: center; }

/** 애니메이션 **/
/* 원본용 */
@keyframes slide01 { 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0% { transform: translateX(0); }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;50% { transform: translateX(-100%); }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;50.01% { transform: translateX(100%); }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;100% { transform: translateX(0); }
}

/* 복제용 */
@keyframes slide02 { 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0% { transform: translateX(0); }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;100% { transform: translateX(-200%); }
}&lt;/code&gt;&lt;/pre&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;  JavaScript&lt;/b&gt;&lt;/h4&gt;
&lt;pre class=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;javascript&quot;&gt;&lt;code&gt;const imgSlide = document.querySelector(&quot;.imgSlide&quot;);

// 복제
const clone = imgSlide.cloneNode(true);

// 복제본 추가
document.querySelector(&quot;.slideWrap&quot;).appendChild(clone);

// 원본, 복제본 위치 지정
document.querySelector(&quot;.imgSlide&quot;).offsetWidth + &quot;px&quot;;

// 클래스 할당
imgSlide.classList.add(&quot;original&quot;);
clone.classList.add(&quot;clone&quot;);&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&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;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;iframe src=&quot;https://codepen.io/AnJunghee/embed/OJoqzvV?default-tab=html%2Cresult&quot; width=&quot;100%&quot; height=&quot;300&quot; frameborder=&quot;no&quot; scrolling=&quot;no&quot; allowfullscreen=&quot;true&quot;&gt; See the Pen &amp;amp;amp;lt;a href=&quot;https://codepen.io/AnJunghee/pen/OJoqzvV&quot;&amp;amp;amp;gt; Infinite slide&amp;amp;amp;lt;/a&amp;amp;amp;gt; by AnJunghee (&amp;amp;amp;lt;a href=&quot;https://codepen.io/AnJunghee&quot;&amp;amp;amp;gt;@AnJunghee&amp;amp;amp;lt;/a&amp;amp;amp;gt;) on &amp;amp;amp;lt;a href=&quot;https://codepen.io&quot;&amp;amp;amp;gt;CodePen&amp;amp;amp;lt;/a&amp;amp;amp;gt;. &lt;/iframe&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;a title=&quot;html 아이콘&quot; href=&quot;https://www.flaticon.com/kr/free-icons/html&quot; target=&quot;_self&quot;&gt;&lt;span&gt;Html 아이콘 제작자: Freepik - Flaticon&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;a title=&quot;css 아이콘&quot; href=&quot;https://www.flaticon.com/kr/free-icons/css&quot; target=&quot;_self&quot;&gt;&lt;span&gt;Css 아이콘 제작자: Freepik - Flaticon&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;a title=&quot;자바 스크립트 아이콘&quot; href=&quot;https://www.flaticon.com/kr/free-icons/-&quot; target=&quot;_self&quot;&gt;&lt;span&gt;자바 스크립트 아이콘 제작자: Rmpp - Flaticon&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;figure data-ke-type=&quot;opengraph&quot; data-og-title=&quot;11,072종의 무료 html 아이콘&quot; data-ke-align=&quot;alignCenter&quot; data-og-description=&quot;SVG, PSD, PNG, EPS 포맷 또는 웹폰트로 제공되는 11,072종 이상의 html 아이콘을 다운로드받으세요. 최대의 무료 아이콘 데이터베이스 - Flaticon.&quot; data-og-host=&quot;www.flaticon.com&quot; data-og-source-url=&quot;https://www.flaticon.com/kr/free-icons/html&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/wRdEe/hyUlukXq0s/dJNQo3QjKasDkTkA8bLP4k/img.jpg?width=2161&amp;amp;height=1217&amp;amp;face=0_0_2161_1217,https://scrap.kakaocdn.net/dn/LaxLp/hyUlsObsQD/eKIq0OrHzszg6TC4Hggcdk/img.jpg?width=2161&amp;amp;height=1217&amp;amp;face=0_0_2161_1217&quot; data-og-url=&quot;https://www.flaticon.com/kr/free-icons/https%3A%2F%2Fwww.flaticon.com%2Fkr%2Ffree-icons%2Fhtml&quot;&gt;&lt;a href=&quot;https://www.flaticon.com/kr/free-icons/https%3A%2F%2Fwww.flaticon.com%2Fkr%2Ffree-icons%2Fhtml&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.flaticon.com/kr/free-icons/html&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/wRdEe/hyUlukXq0s/dJNQo3QjKasDkTkA8bLP4k/img.jpg?width=2161&amp;amp;height=1217&amp;amp;face=0_0_2161_1217,https://scrap.kakaocdn.net/dn/LaxLp/hyUlsObsQD/eKIq0OrHzszg6TC4Hggcdk/img.jpg?width=2161&amp;amp;height=1217&amp;amp;face=0_0_2161_1217');&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;11,072종의 무료 html 아이콘&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;SVG, PSD, PNG, EPS 포맷 또는 웹폰트로 제공되는 11,072종 이상의 html 아이콘을 다운로드받으세요. 최대의 무료 아이콘 데이터베이스 - Flaticon.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.flaticon.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;br /&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>퍼블리싱/Vanilla JS</category>
      <category>CSS</category>
      <category>HTML</category>
      <category>JavaScript</category>
      <category>무한루프슬라이드</category>
      <category>웹퍼블리싱</category>
      <author>안댕이</author>
      <guid isPermaLink="true">https://webd.tistory.com/153</guid>
      <comments>https://webd.tistory.com/153#entry153comment</comments>
      <pubDate>Fri, 27 Oct 2023 14:25:52 +0900</pubDate>
    </item>
    <item>
      <title>[Vanilla JS] 탭 메뉴 구현 / 버튼마다 다른 컨텐츠 보여주기</title>
      <link>https://webd.tistory.com/152</link>
      <description>&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;버튼을 누르면 각각 다른 컨텐츠가 보여지는 탭 메뉴 구현&lt;br&gt;&amp;nbsp;&lt;/p&gt;&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;  HTML&lt;/b&gt;&lt;/h4&gt;&lt;pre data-ke-type=&quot;codeblock&quot; class=&quot;html&quot; data-ke-language=&quot;html&quot;&gt;&lt;code&gt;&amp;lt;div class=&quot;tab_menu&quot;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;lt;ul class=&quot;videoList&quot;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;li class=&quot;is_on&quot;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;div class=&quot;cont&quot;&amp;gt;&amp;lt;/div&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/li&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;li&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;div class=&quot;cont&quot;&amp;gt;&amp;lt;/div&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/li&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;li&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;div class=&quot;cont&quot;&amp;gt;&amp;lt;/div&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/li&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;li&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;div class=&quot;cont&quot;&amp;gt;&amp;lt;/div&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/li&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;lt;/ul&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;lt;ul class=&quot;videoBtn&quot;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;li class=&quot;is_on&quot;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;button class=&quot;tabBtn&quot; onclick=&quot;btnEvent()&quot;&amp;gt;1&amp;lt;/button&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/li&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;li&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;button class=&quot;tabBtn&quot; onclick=&quot;btnEvent()&quot;&amp;gt;2&amp;lt;/button&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/li&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;li&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;button class=&quot;tabBtn&quot; onclick=&quot;btnEvent()&quot;&amp;gt;3&amp;lt;/button&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/li&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;li&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;button class=&quot;tabBtn&quot; onclick=&quot;btnEvent()&quot;&amp;gt;4&amp;lt;/button&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/li&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;lt;/ul&amp;gt;
&amp;lt;/div&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;  CSS&lt;/b&gt;&lt;/h4&gt;&lt;pre data-ke-type=&quot;codeblock&quot; class=&quot;css&quot; data-ke-language=&quot;css&quot;&gt;&lt;code&gt;/* reset */
ul { list-style: none; }
button { border: none; }

/* 컨텐츠 */
.tab_menu { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 90%; box-sizing: border-box; }
.tab_menu .videoList { width: 100%; margin-bottom: 10px;}
.tab_menu .videoList li .cont{ display: none; width: 100%; height: 100px; }

/* 컨텐츠 background color */
.tab_menu .videoList li:nth-child(1) .cont{ background-color: #ff8181; }
.tab_menu .videoList li:nth-child(2) .cont{ background-color: #fff281; }
.tab_menu .videoList li:nth-child(3) .cont{ background-color: #81d1ff; }
.tab_menu .videoList li:nth-child(4) .cont{ background-color: #ff81a7; }
 
/* is on */
.tab_menu .videoList li.is_on .cont{ display: block; }

/* 버튼 */
.tab_menu .videoBtn { display: flex; justify-content: space-between; gap: 10%; width: 100%; height: 100%; }
.tab_menu .videoBtn li { margin-top: 10px; flex-grow: 1; }
.tab_menu .videoBtn li .tabBtn{ width: 100%; padding: 20px; border-radius: 5px; background-color: #ddd; color: #fff; text-align: center; font-size: 18px; font-weight: 500; line-height: 22px;}

/* 버튼 background color */
.tab_menu .videoBtn li:nth-child(1).is_on .tabBtn{ background-color: #ff8181; }
.tab_menu .videoBtn li:nth-child(2).is_on .tabBtn{ background-color: #fff281; }
.tab_menu .videoBtn li:nth-child(3).is_on .tabBtn{ background-color: #81d1ff; }
.tab_menu .videoBtn li:nth-child(4).is_on .tabBtn{ background-color: #ff81a7; }&lt;/code&gt;&lt;/pre&gt;&lt;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;  JavaScript&lt;/b&gt;&lt;/h4&gt;&lt;pre data-ke-type=&quot;codeblock&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot;&gt;&lt;code&gt;function btnEvent() {
&amp;nbsp;&amp;nbsp;const tabMenu = document.querySelector('.tab_menu');
&amp;nbsp;&amp;nbsp;const tabList1 = Array.from(tabMenu.querySelectorAll('.videoList li'));
&amp;nbsp;&amp;nbsp;const tabList2 = Array.from(tabMenu.querySelectorAll('.videoBtn li'));

&amp;nbsp;&amp;nbsp;tabMenu.addEventListener('click', (e) =&amp;gt; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;const target = e.target;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (target.classList.contains('tabBtn')) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;e.preventDefault();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;const index = tabList2.indexOf(target.parentNode);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (index !== -1) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tabList1.forEach((item, i) =&amp;gt; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item.classList.remove('is_on');
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tabList2[i].classList.remove('is_on');
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;});
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tabList1[index].classList.add('is_on');
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tabList2[index].classList.add('is_on');
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;});
}&lt;/code&gt;&lt;/pre&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;  결과물&lt;/b&gt;&lt;/h4&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;iframe src=&quot;https://codepen.io/AnJunghee/embed/BaObmee?default-tab=html%2Cresult&quot; width=&quot;100%&quot; height=&quot;400&quot; frameborder=&quot;no&quot; scrolling=&quot;no&quot; allowfullscreen=&quot;true&quot;&gt; See the Pen &amp;amp;amp;lt;a href=&quot;https://codepen.io/AnJunghee/pen/BaObmee&quot;&amp;amp;amp;gt; Tab&amp;amp;amp;lt;/a&amp;amp;amp;gt; by AnJunghee (&amp;amp;amp;lt;a href=&quot;https://codepen.io/AnJunghee&quot;&amp;amp;amp;gt;@AnJunghee&amp;amp;amp;lt;/a&amp;amp;amp;gt;) on &amp;amp;amp;lt;a href=&quot;https://codepen.io&quot;&amp;amp;amp;gt;CodePen&amp;amp;amp;lt;/a&amp;amp;amp;gt;. &lt;/iframe&gt;&lt;/span&gt;&lt;/p&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br&gt;&amp;nbsp;&lt;/p&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;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;iframe src=&quot;https://codepen.io/AnJunghee/embed/LYJaOjL?default-tab=result&quot; width=&quot;100%&quot; height=&quot;400&quot; frameborder=&quot;no&quot; scrolling=&quot;no&quot; allowfullscreen=&quot;true&quot;&gt; See the Pen &amp;amp;amp;lt;a href=&quot;https://codepen.io/AnJunghee/pen/LYJaOjL&quot;&amp;amp;amp;gt; Category&amp;amp;amp;lt;/a&amp;amp;amp;gt; by AnJunghee (&amp;amp;amp;lt;a href=&quot;https://codepen.io/AnJunghee&quot;&amp;amp;amp;gt;@AnJunghee&amp;amp;amp;lt;/a&amp;amp;amp;gt;) on &amp;amp;amp;lt;a href=&quot;https://codepen.io&quot;&amp;amp;amp;gt;CodePen&amp;amp;amp;lt;/a&amp;amp;amp;gt;. &lt;/iframe&gt;&lt;/span&gt;&lt;/p&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br&gt;&amp;nbsp;&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;span&gt;&lt;a href=&quot;https://www.flaticon.com/kr/free-icons/html&quot; target=&quot;_self&quot; title=&quot;html 아이콘&quot;&gt;&lt;span&gt;Html 아이콘 제작자: Freepik - Flaticon&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;br&gt;&lt;span&gt;&lt;a href=&quot;https://www.flaticon.com/kr/free-icons/css&quot; target=&quot;_self&quot; title=&quot;css 아이콘&quot;&gt;&lt;span&gt;Css 아이콘 제작자: Freepik - Flaticon&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;br&gt;&lt;span&gt;&lt;a href=&quot;https://www.flaticon.com/kr/free-icons/-&quot; target=&quot;_self&quot; title=&quot;자바 스크립트 아이콘&quot;&gt;&lt;span&gt;자바 스크립트 아이콘 제작자: Rmpp - Flaticon&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;figure data-ke-type=&quot;opengraph&quot; data-og-title=&quot;11,072종의 무료 html 아이콘&quot; data-ke-align=&quot;alignCenter&quot; data-og-description=&quot;SVG, PSD, PNG, EPS 포맷 또는 웹폰트로 제공되는 11,072종 이상의 html 아이콘을 다운로드받으세요. 최대의 무료 아이콘 데이터베이스 - Flaticon.&quot; data-og-host=&quot;www.flaticon.com&quot; data-og-source-url=&quot;https://www.flaticon.com/kr/free-icons/html&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/wRdEe/hyUlukXq0s/dJNQo3QjKasDkTkA8bLP4k/img.jpg?width=2161&amp;amp;height=1217&amp;amp;face=0_0_2161_1217,https://scrap.kakaocdn.net/dn/LaxLp/hyUlsObsQD/eKIq0OrHzszg6TC4Hggcdk/img.jpg?width=2161&amp;amp;height=1217&amp;amp;face=0_0_2161_1217&quot; data-og-url=&quot;https://www.flaticon.com/kr/free-icons/https%3A%2F%2Fwww.flaticon.com%2Fkr%2Ffree-icons%2Fhtml&quot;&gt;&lt;a href=&quot;https://www.flaticon.com/kr/free-icons/https%3A%2F%2Fwww.flaticon.com%2Fkr%2Ffree-icons%2Fhtml&quot; target=&quot;_blank&quot; data-source-url=&quot;https://www.flaticon.com/kr/free-icons/html&quot;&gt;&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/wRdEe/hyUlukXq0s/dJNQo3QjKasDkTkA8bLP4k/img.jpg?width=2161&amp;amp;height=1217&amp;amp;face=0_0_2161_1217,https://scrap.kakaocdn.net/dn/LaxLp/hyUlsObsQD/eKIq0OrHzszg6TC4Hggcdk/img.jpg?width=2161&amp;amp;height=1217&amp;amp;face=0_0_2161_1217')&quot;&gt; &lt;/div&gt;&lt;div class=&quot;og-text&quot;&gt;&lt;p class=&quot;og-title&quot;&gt;11,072종의 무료 html 아이콘&lt;/p&gt;&lt;p class=&quot;og-desc&quot;&gt;SVG, PSD, PNG, EPS 포맷 또는 웹폰트로 제공되는 11,072종 이상의 html 아이콘을 다운로드받으세요. 최대의 무료 아이콘 데이터베이스 - Flaticon.&lt;/p&gt;&lt;p class=&quot;og-host&quot;&gt;www.flaticon.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;br&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>퍼블리싱/Vanilla JS</category>
      <category>CSS</category>
      <category>HTML</category>
      <category>JavaScript</category>
      <category>웹퍼블리싱</category>
      <category>탭버튼구현</category>
      <author>안댕이</author>
      <guid isPermaLink="true">https://webd.tistory.com/152</guid>
      <comments>https://webd.tistory.com/152#entry152comment</comments>
      <pubDate>Fri, 27 Oct 2023 13:59:32 +0900</pubDate>
    </item>
    <item>
      <title>[프로그래머스] Lv.1 최소직사각형 / JS</title>
      <link>https://webd.tistory.com/149</link>
      <description>&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  문제 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;명함 지갑을 만드는 회사에서 지갑의 크기를 정하려고 합니다. 다양한 모양과 크기의 명함들을 모두 수납할 수 있으면서, 작아서 들고 다니기 편한 지갑을 만들어야 합니다. 이러한 요건을 만족하는 지갑을 만들기 위해 디자인팀은 모든 명함의 가로 길이와 세로 길이를 조사했습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;아래 표는 4가지 명함의 가로 길이와 세로 길이를 나타냅니다.&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 37.2093%; height: 154px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;명함 번호&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;가로 길이&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;세로 길이&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;60&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;50&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;30&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;70&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;3&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;60&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;30&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;4&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;80&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;40&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;가장 긴 가로 길이와 세로 길이가 각각 80, 70이기 때문에 80(가로) x 70(세로) 크기의 지갑을 만들면 모든 명함들을 수납할 수 있습니다. 하지만 2번 명함을 가로로 눕혀 수납한다면 80(가로) x 50(세로) 크기의 지갑으로 모든 명함들을 수납할 수 있습니다. 이때의 지갑 크기는 4000(=80 x 50)입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;모든 명함의 가로 길이와 세로 길이를 나타내는 2차원 배열 sizes가 매개변수로 주어집니다. 모든 명함을 수납할 수 있는 가장 작은 지갑을 만들 때, 지갑의 크기를 return 하도록 solution 함수를 완성해주세요.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;⭐ 제한사항&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;sizes의 길이는 1 이상 10,000 이하입니다.&lt;/span&gt;
&lt;ul style=&quot;list-style-type: circle; color: #000000;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;sizes의 원소는 [w, h] 형식입니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;w는 명함의 가로 길이를 나타냅니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;h는 명함의 세로 길이를 나타냅니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;w와 h는 1 이상 1,000 이하인 자연수입니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;sizes&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;result&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[[60, 50], [30, 70], [60, 30], [80, 40]]&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;4000&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[[10, 7], [12, 3], [8, 15], [14, 7], [5, 15]]&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;120&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[[14, 4], [19, 6], [6, 16], [18, 7], [7, 11]]&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;133&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;입출력&amp;nbsp;예&amp;nbsp;#1&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left; font-family: 'Noto Sans Light';&quot;&gt; 문제 예시와 같습니다. &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;입출력&amp;nbsp;예&amp;nbsp;#2&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left; font-family: 'Noto Sans Light';&quot;&gt; 명함들을 적절히 회전시켜 겹쳤을 때, 3번째 명함(가로: 8, 세로: 15)이 다른 모든 명함보다 크기가 큽니다. 따라서 지갑의 크기는 3번째 명함의 크기와 같으며, 120(=8 x 15)을 return 합니다. &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;입출력 예 #3&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left; font-family: 'Noto Sans Light';&quot;&gt; 명함들을 적절히 회전시켜 겹쳤을 때, 모든 명함을 포함하는 가장 작은 지갑의 크기는 133(=19 x 7)입니다. &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  나의 답변&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1698280816888&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;function solution(sizes) {
    const width = [], height = [];
    
    sizes.forEach(([w, h]) =&amp;gt; {
        if(w &amp;gt; h) {
            width.push(w);
            height.push(h);
        } else {
            width.push(h);
            height.push(w);
        }
    });
    
    width.sort((a, b) =&amp;gt; b - a);
    height.sort((a, b) =&amp;gt; b - a);
    
    return width[0] * height[0];
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;배열을 활용하여 풀이해보았다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;sizes 배열을 순회하며 가로 길이와 세로 길이를 비교하여 더 큰 값을 width 배열에 추가하고,&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt; &lt;code&gt;sort&lt;/code&gt; 메서드로 배열을 내림차순으로 정렬한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;내림차순 정렬을 한 배열의 첫번째 요소끼리 곱해준다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;⭐ 참고할 답변&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;pre class=&quot;inform7&quot; style=&quot;background-color: #202b3d; color: #93a1a1; text-align: left;&quot;&gt;&lt;code&gt;function solution(sizes) {
    const rotated = sizes.map(([w, h]) =&amp;gt; w &amp;lt; h ? [h, w] : [w, h]);

    let maxSize = [0, 0];
    rotated.forEach(([w, h]) =&amp;gt; {
        if (w &amp;gt; maxSize[0]) maxSize[0] = w;
        if (h &amp;gt; maxSize[1]) maxSize[1] = h;
    })
    return maxSize[0]*maxSize[1];
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;내가 작성한 코드보다 간결하고, 가로, 세로 각각의 배열을 생성하지 않아도 된다!&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;maxSize 변수의 값을 업데이트 해주고, 마지막에 곱한 값을 반환한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;생각보다 간단했지만 어려웠던... 그런... 문제  &lt;/span&gt;&lt;/p&gt;</description>
      <category>프로그래머스/Lv. 1</category>
      <category>JavaScript</category>
      <category>LV1</category>
      <category>자바스크립트</category>
      <category>최소직사각형</category>
      <category>코딩테스트연습</category>
      <category>프로그래머스</category>
      <author>안댕이</author>
      <guid isPermaLink="true">https://webd.tistory.com/149</guid>
      <comments>https://webd.tistory.com/149#entry149comment</comments>
      <pubDate>Thu, 26 Oct 2023 09:57:00 +0900</pubDate>
    </item>
    <item>
      <title>[프로그래머스] Lv.1 크기가 작은 부분 문자열 / JS</title>
      <link>https://webd.tistory.com/148</link>
      <description>&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  문제 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;숫자로 이루어진 문자열&amp;nbsp;t와&amp;nbsp;p가 주어질 때,&amp;nbsp;t에서&amp;nbsp;p와 길이가 같은 부분문자열 중에서, 이 부분문자열이 나타내는 수가&amp;nbsp;p가 나타내는 수보다 작거나 같은 것이 나오는 횟수를 return하는 함수 solution을 완성하세요.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;예를 들어,&amp;nbsp;t=&quot;3141592&quot;이고&amp;nbsp;p=&quot;271&quot; 인 경우,&amp;nbsp;t의 길이가 3인 부분 문자열은 314, 141, 415, 159, 592입니다. 이 문자열이 나타내는 수 중 271보다 작거나 같은 수는 141, 159 2개 입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;⭐ 제한사항&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1 &amp;le;&amp;nbsp;p의 길이 &amp;le; 18&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;p의 길이 &amp;le;&amp;nbsp;t의 길이 &amp;le; 10,000&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;t와&amp;nbsp;p는 숫자로만 이루어진 문자열이며, 0으로 시작하지 않습니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;
&lt;table style=&quot;border-collapse: collapse; width: 58.6047%; height: 122px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;t&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;p&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;result&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&quot;3141592&quot;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&quot;271&quot;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&quot;500220839878&quot;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;7&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;8&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&quot;10203&quot;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&quot;15&quot;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;3&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;입출력&amp;nbsp;예&amp;nbsp;#1&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left; font-family: 'Noto Sans Light';&quot;&gt;본문과 같습니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;입출력&amp;nbsp;예&amp;nbsp;#2&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;p&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot;&gt;의 길이가 1이므로&amp;nbsp;&lt;/span&gt;t&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot;&gt;의 부분문자열은 &quot;5&quot;, &quot;0&quot;, 0&quot;, &quot;2&quot;, &quot;2&quot;, &quot;0&quot;, &quot;8&quot;, &quot;3&quot;, &quot;9&quot;, &quot;8&quot;, &quot;7&quot;, &quot;8&quot;이며 이중 7보다 작거나 같은 숫자는 &quot;5&quot;, &quot;0&quot;, &quot;0&quot;, &quot;2&quot;, &quot;2&quot;, &quot;0&quot;, &quot;3&quot;, &quot;7&quot; 이렇게 8개가 있습니다.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;입출력 예 #3&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;p&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot;&gt;의 길이가 2이므로&amp;nbsp;&lt;/span&gt;t&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot;&gt;의 부분문자열은 &quot;10&quot;, &quot;02&quot;, &quot;20&quot;, &quot;03&quot;이며, 이중 15보다 작거나 같은 숫자는 &quot;10&quot;, &quot;02&quot;, &quot;03&quot; 이렇게 3개입니다. &quot;02&quot;와 &quot;03&quot;은 각각 2, 3에 해당한다는 점에 주의하세요&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  나의 답변&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;1️⃣ for문 사용&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1693547771877&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;function solution(t, p) {
    let count = 0;
    for(let i = 0; i &amp;lt; t.length; i++) {
        const substring = t.slice(i, i + p.length);
        if(substring.length === p.length &amp;amp;&amp;amp; parseInt(substring) &amp;lt;= parseInt(p)) {
            count++;
        }
    }
    return count;
}&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;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2️⃣ 배열 활용&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;pre class=&quot;matlab&quot; style=&quot;background-color: #202b3d; color: #93a1a1; text-align: left;&quot;&gt;&lt;code&gt;function solution(t, p) {
    return [...t].map((_, i) =&amp;gt; t.substr(i, p.length)).filter((v) =&amp;gt; v.length === p.length &amp;amp;&amp;amp; +v &amp;lt;= +p).length;
}&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;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;for문이 더 효율적일 듯 하다!&lt;/span&gt;&lt;/p&gt;</description>
      <category>프로그래머스/Lv. 1</category>
      <category>JavaScript</category>
      <category>LV1</category>
      <category>자바스크립트</category>
      <category>코딩테스트 연습</category>
      <category>크기가 작은 부분 문자열</category>
      <category>프로그래머스</category>
      <author>안댕이</author>
      <guid isPermaLink="true">https://webd.tistory.com/148</guid>
      <comments>https://webd.tistory.com/148#entry148comment</comments>
      <pubDate>Fri, 1 Sep 2023 15:09:58 +0900</pubDate>
    </item>
    <item>
      <title>[프로그래머스] Lv.1 삼총사 / JS</title>
      <link>https://webd.tistory.com/147</link>
      <description>&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  문제 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;한국중학교에 다니는 학생들은 각자 정수 번호를 갖고 있습니다. 이 학교 학생 3명의 정수 번호를 더했을 때 0이 되면 3명의 학생은 삼총사라고 합니다. 예를 들어, 5명의 학생이 있고, 각각의 정수 번호가 순서대로 -2, 3, 0, 2, -5일 때, 첫 번째, 세 번째, 네 번째 학생의 정수 번호를 더하면 0이므로 세 학생은 삼총사입니다. 또한, 두 번째, 네 번째, 다섯 번째 학생의 정수 번호를 더해도 0이므로 세 학생도 삼총사입니다. 따라서 이 경우 한국중학교에서는 두 가지 방법으로 삼총사를 만들 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;한국중학교 학생들의 번호를 나타내는 정수 배열&amp;nbsp;number가 매개변수로 주어질 때, 학생들 중 삼총사를 만들 수 있는 방법의 수를 return 하도록 solution 함수를 완성하세요.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;⭐ 제한사항&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;3 &amp;le;&amp;nbsp;number의 길이 &amp;le; 13&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;-1,000 &amp;le;&amp;nbsp;number의 각 원소 &amp;le; 1,000&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;서로 다른 학생의 정수 번호가 같을 수 있습니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;table style=&quot;border-collapse: collapse; width: 30.2326%; height: 141px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;number&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;result&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[-2, 3, 0, 2, 5]&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[-3, -2, -1, 0, 1, 2, 3]&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;5&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[-1, 1, -1, 1]&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;0&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;입출력&amp;nbsp;예&amp;nbsp;#1&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;문제 예시와 같습니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;입출력&amp;nbsp;예&amp;nbsp;#2&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;학생들의 정수 번호 쌍 (-3, 0, 3), (-2, 0, 2), (-1, 0, 1), (-2, -1, 3), (-3, 1, 2) 이 삼총사가 될 수 있으므로, 5를 return 합니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;입출력 예 #3&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;삼총사가 될 수 있는 방법이 없습니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  나의 답변&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1693545339390&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;function solution(number) {
    let answer = 0;
    for(let x = 0; x &amp;lt; number.length; x++) {
        for(let y = x+1; y &amp;lt;= number.length; y++) {
            for(let z = y+1; z &amp;lt;= number.length; z++) {
                let sum = number[x] + number[y] + number[z];
                if (sum === 0) answer++;
                sum = 0;
            }
        }
    }
    return answer;
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>프로그래머스/Lv. 1</category>
      <category>JavaScript</category>
      <category>LV1</category>
      <category>삼총사</category>
      <category>자바스크립트</category>
      <category>코딩테스트 연습</category>
      <category>프로그래머스</category>
      <author>안댕이</author>
      <guid isPermaLink="true">https://webd.tistory.com/147</guid>
      <comments>https://webd.tistory.com/147#entry147comment</comments>
      <pubDate>Fri, 1 Sep 2023 14:16:22 +0900</pubDate>
    </item>
    <item>
      <title>[프로그래머스] Lv.1 예산 / JS</title>
      <link>https://webd.tistory.com/146</link>
      <description>&lt;div style=&quot;text-align: right;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;a style=&quot;color: #676767;&quot; href=&quot;https://webd.tistory.com/122#&quot;&gt;삭제&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #333333;&quot;&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  문제 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 없습니다. 그래서 최대한 많은 부서의 물품을 구매해 줄 수 있도록 하려고 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;물품을 구매해 줄 때는 각 부서가 신청한 금액만큼을 모두 지원해 줘야 합니다. 예를 들어 1,000원을 신청한 부서에는 정확히 1,000원을 지원해야 하며, 1,000원보다 적은 금액을 지원해 줄 수는 없습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;부서별로 신청한 금액이 들어있는 배열 d와 예산 budget이 매개변수로 주어질 때, 최대 몇 개의 부서에 물품을 지원할 수 있는지 return 하도록 solution 함수를 완성해주세요.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;⭐ 제한사항&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;d는 부서별로 신청한 금액이 들어있는 배열이며, 길이(전체 부서의 개수)는 1 이상 100 이하입니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;d의 각 원소는 부서별로 신청한 금액을 나타내며, 부서별 신청 금액은 1 이상 100,000 이하의 자연수입니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;budget은 예산을 나타내며, 1 이상 10,000,000 이하의 자연수입니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;
&lt;table style=&quot;border-collapse: collapse; width: 42.5581%; height: 80px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;d&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;budget&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;result&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[1, 3, 2, 5, 4]&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;9&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;3&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[2, 2, 3, 3]&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;10&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;4&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;입출력 예 #1&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;각 부서에서 [1원, 3원, 2원, 5원, 4원]만큼의 금액을 신청했습니다. 만약에, 1원, 2원, 4원을 신청한 부서의 물품을 구매해주면 예산 9원에서 7원이 소비되어 2원이 남습니다. 항상 정확히 신청한 금액만큼 지원해 줘야 하므로 남은 2원으로 나머지 부서를 지원해 주지 않습니다. 위 방법 외에 3개 부서를 지원해 줄 방법들은 다음과 같습니다.&lt;/span&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1원, 2원, 3원을 신청한 부서의 물품을 구매해주려면 6원이 필요합니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1원, 2원, 5원을 신청한 부서의 물품을 구매해주려면 8원이 필요합니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1원, 3원, 4원을 신청한 부서의 물품을 구매해주려면 8원이 필요합니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1원, 3원, 5원을 신청한 부서의 물품을 구매해주려면 9원이 필요합니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;3개 부서보다 더 많은 부서의 물품을 구매해 줄 수는 없으므로 최대 3개 부서의 물품을 구매해 줄 수 있습니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;입출력&amp;nbsp;예&amp;nbsp;#2&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left; font-family: 'Noto Sans Light';&quot;&gt;모든 부서의 물품을 구매해주면 10원이 됩니다. 따라서 최대 4개 부서의 물품을 구매해 줄 수 있습니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  나의 답변&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;pre class=&quot;javascript&quot; style=&quot;background-color: #202b3d; color: #93a1a1; text-align: left;&quot;&gt;&lt;code&gt;function solution(d, budget) {
    d.sort((a, b) =&amp;gt; a - b);

    let answer = 0;
    for (let el of d) {
        budget -= el;
        if(budget &amp;lt; 0) break;
        answer++;
    }

    return answer;
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;⭐ 참고할 답변&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;pre class=&quot;arcade&quot; style=&quot;background-color: #202b3d; color: #93a1a1; text-align: left;&quot;&gt;&lt;code&gt;function solution(d, budget) {
    return d.sort((a, b) =&amp;gt; a - b).reduce((count, price) =&amp;gt; {
        return count + ((budget -= price) &amp;gt;= 0);
    }, 0);
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;boolean값으로 덧셈하는 것도 좋은 방식인 것 같다&lt;/span&gt;&lt;/p&gt;</description>
      <category>프로그래머스/Lv. 1</category>
      <category>JavaScript</category>
      <category>LV1</category>
      <category>Summer/Winter Coding(~2018)</category>
      <category>예산</category>
      <category>자바스크립트</category>
      <category>코딩테스트 연습</category>
      <category>프로그래머스</category>
      <author>안댕이</author>
      <guid isPermaLink="true">https://webd.tistory.com/146</guid>
      <comments>https://webd.tistory.com/146#entry146comment</comments>
      <pubDate>Fri, 1 Sep 2023 14:13:51 +0900</pubDate>
    </item>
    <item>
      <title>[프로그래머스] Lv.1 이상한 문자 만들기 / JS</title>
      <link>https://webd.tistory.com/145</link>
      <description>&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  문제 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left; font-family: 'Noto Sans Light';&quot;&gt;문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;⭐ 제한사항&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;s&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;return&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&quot;try hello world&quot;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&quot;TrY HeLlO WoRlD&quot;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;입출력&amp;nbsp;예&amp;nbsp;#1&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left; font-family: 'Noto Sans Light';&quot;&gt;&quot;try hello world&quot;는 세 단어 &quot;try&quot;, &quot;hello&quot;, &quot;world&quot;로 구성되어 있습니다. 각 단어의 짝수번째 문자를 대문자로, 홀수번째 문자를 소문자로 바꾸면 &quot;TrY&quot;, &quot;HeLlO&quot;, &quot;WoRlD&quot;입니다. 따라서 &quot;TrY HeLlO WoRlD&quot; 를 리턴합니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  나의 답변&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1693381999613&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;function solution(s) {    
    return s.split(&quot; &quot;).map((v) =&amp;gt; [...v].map((char, i) =&amp;gt; i % 2 ? char.toLowerCase() : char.toUpperCase()).join(&quot;&quot;)).join(&quot; &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;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;메서드야 고마워&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>프로그래머스/Lv. 1</category>
      <category>JavaScript</category>
      <category>LV1</category>
      <category>이상한 문자 만들기</category>
      <category>자바스크립트</category>
      <category>코딩테스트 연습</category>
      <category>프로그래머스</category>
      <author>안댕이</author>
      <guid isPermaLink="true">https://webd.tistory.com/145</guid>
      <comments>https://webd.tistory.com/145#entry145comment</comments>
      <pubDate>Thu, 31 Aug 2023 17:05:28 +0900</pubDate>
    </item>
    <item>
      <title>[프로그래머스] Lv.1 3진법 뒤집기 / JS</title>
      <link>https://webd.tistory.com/144</link>
      <description>&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  문제 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left; font-family: 'Noto Sans Light';&quot;&gt;자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;⭐ 제한사항&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;n은 1 이상 100,000,000 이하인 자연수입니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;table style=&quot;border-collapse: collapse; width: 27.4419%; height: 118px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;n&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;result&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;45&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;7&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;125&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;229&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;입출력&amp;nbsp;예&amp;nbsp;#1&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;답을 도출하는 과정은 다음과 같습니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;465&quot; data-origin-height=&quot;77&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LwhD7/btssDQ3jq4C/8S7Tx7Z5VbCeHiX3DZuknK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LwhD7/btssDQ3jq4C/8S7Tx7Z5VbCeHiX3DZuknK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LwhD7/btssDQ3jq4C/8S7Tx7Z5VbCeHiX3DZuknK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLwhD7%2FbtssDQ3jq4C%2F8S7Tx7Z5VbCeHiX3DZuknK%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;465&quot; height=&quot;77&quot; data-origin-width=&quot;465&quot; data-origin-height=&quot;77&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;따라서 7을 return 해야 합니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;입출력&amp;nbsp;예&amp;nbsp;#2&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;답을 도출하는 과정은 다음과 같습니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;467&quot; data-origin-height=&quot;78&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/yPEwq/btssDPJ3YsS/DqvLnr2xy6FeKA8IpWgrmk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/yPEwq/btssDPJ3YsS/DqvLnr2xy6FeKA8IpWgrmk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/yPEwq/btssDPJ3YsS/DqvLnr2xy6FeKA8IpWgrmk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FyPEwq%2FbtssDPJ3YsS%2FDqvLnr2xy6FeKA8IpWgrmk%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;467&quot; height=&quot;78&quot; data-origin-width=&quot;467&quot; data-origin-height=&quot;78&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;따라서 229를 return 해야 합니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  나의 답변&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;pre class=&quot;javascript&quot; style=&quot;background-color: #202b3d; color: #93a1a1; text-align: left;&quot;&gt;&lt;code&gt;function solution(n) {
    return parseInt([...n.toString(3)].reverse().join(&quot;&quot;), 3);
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;다 풀고 좋아요 가장 많은 답변이랑 정답 똑같으면 기분이 좋다  &lt;/span&gt;&lt;/p&gt;</description>
      <category>프로그래머스/Lv. 1</category>
      <category>3진법 뒤집기</category>
      <category>JavaScript</category>
      <category>LV1</category>
      <category>월간 코드 챌린지 시즌1</category>
      <category>코딩테스트 연습</category>
      <category>프로그래머스</category>
      <author>안댕이</author>
      <guid isPermaLink="true">https://webd.tistory.com/144</guid>
      <comments>https://webd.tistory.com/144#entry144comment</comments>
      <pubDate>Thu, 31 Aug 2023 17:05:22 +0900</pubDate>
    </item>
    <item>
      <title>[프로그래머스] Lv.1 같은 숫자는 싫어 / JS</title>
      <link>https://webd.tistory.com/143</link>
      <description>&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  문제 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. 예를 들면,&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return 합니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;arr = [4, 4, 4, 3, 3] 이면 [4, 3] 을 return 합니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;배열 arr에서 연속적으로 나타나는 숫자는 제거하고 남은 수들을 return 하는 solution 함수를 완성해 주세요.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;⭐ 제한사항&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;배열 arr의 크기 : 1,000,000 이하의 자연수&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;배열 arr의 원소의 크기 : 0보다 크거나 같고 9보다 작거나 같은 정수&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;table style=&quot;border-collapse: collapse; width: 32.6744%; height: 95px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;arr&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;answer&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[1, 1, 3, 3, 0, 1, 1]&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[1, 3, 0, 1]&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[4, 4, 4, 3, 3]&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[4, 3]&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;입출력 예 #1, 2&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left; font-family: 'Noto Sans Light';&quot;&gt;문제의 예시와 같습니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  나의 답변&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;pre class=&quot;arcade&quot; style=&quot;background-color: #202b3d; color: #93a1a1; text-align: left;&quot;&gt;&lt;code&gt;function solution(arr) {
    return arr.filter((v, i) =&amp;gt; v !== arr[i+1]);
}&lt;/code&gt;&lt;/pre&gt;</description>
      <category>프로그래머스/Lv. 1</category>
      <category>JavaScript</category>
      <category>LV1</category>
      <category>같은 숫자는 싫어</category>
      <category>코딩테스트 연습</category>
      <category>프로그래머스</category>
      <author>안댕이</author>
      <guid isPermaLink="true">https://webd.tistory.com/143</guid>
      <comments>https://webd.tistory.com/143#entry143comment</comments>
      <pubDate>Thu, 31 Aug 2023 17:05:14 +0900</pubDate>
    </item>
    <item>
      <title>[프로그래머스] Lv.1 최대공약수와 최소공배수 / JS</title>
      <link>https://webd.tistory.com/142</link>
      <description>&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  문제 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left; font-family: 'Noto Sans Light';&quot;&gt;두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12)는 [3, 12]를 반환해야 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;⭐ 제한사항&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;두 수는 1이상 1000000이하의 자연수입니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;
&lt;table style=&quot;border-collapse: collapse; width: 46.5116%; height: 94px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;n&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;m&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;return&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;3&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;12&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[3, 12]&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;5&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[1, 10]&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;입출력&amp;nbsp;예&amp;nbsp;#1&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left; font-family: 'Noto Sans Light';&quot;&gt;위의 설명과 같습니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;입출력&amp;nbsp;예&amp;nbsp;#2&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left; font-family: 'Noto Sans Light';&quot;&gt;자연수 2와 5의 최대공약수는 1, 최소공배수는 10이므로 [1, 10]을 리턴해야 합니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  나의 답변&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1693379817421&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;function solution(n, m) {
    let gcd = 0;
    
    // 최대공약수 구하기
    for(let i = 1; i &amp;lt;= Math.max(n, m); i++) {
        if(n % i === 0 &amp;amp;&amp;amp; m % i === 0) gcd = i;
    }
    
    return [gcd, (n * m) / gcd];
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt; &lt;b&gt; 최소공배수 = (n * m) / 최대공약수&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <category>프로그래머스/Lv. 1</category>
      <category>JavaScript</category>
      <category>LV1</category>
      <category>자바스크립트</category>
      <category>최대공약수와 최소공배수</category>
      <category>코딩테스트 연습</category>
      <category>프로그래머스</category>
      <author>안댕이</author>
      <guid isPermaLink="true">https://webd.tistory.com/142</guid>
      <comments>https://webd.tistory.com/142#entry142comment</comments>
      <pubDate>Wed, 30 Aug 2023 16:17:30 +0900</pubDate>
    </item>
    <item>
      <title>[프로그래머스] Lv.1 직사각형 별찍기 / JS</title>
      <link>https://webd.tistory.com/141</link>
      <description>&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  문제 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left; font-family: 'Noto Sans Light';&quot;&gt;이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left; font-family: 'Noto Sans Light';&quot;&gt;별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;⭐ 제한사항&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;n과 m은 각각 1000 이하인 자연수입니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;입력&lt;/span&gt;&lt;/p&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;pre id=&quot;code_1693378705606&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;5 3​&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;출력&lt;/span&gt;&lt;/div&gt;
&lt;pre id=&quot;code_1693378721166&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;*****
*****
*****&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  나의 답변&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;pre class=&quot;javascript&quot; style=&quot;background-color: #202b3d; color: #93a1a1; text-align: left;&quot; data-ke-language=&quot;javascript&quot;&gt;&lt;code&gt;process.stdin.setEncoding('utf8');
process.stdin.on('data', data =&amp;gt; {
    const n = data.split(&quot; &quot;);
    const a = Number(dt[0]), b = Number(dt[1]);

    const star = '*'.repeat(a);
    for(let i = 0; i &amp;lt; b; i++) {
        console.log(star);
    }
});&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;갑자기 답안에 Node.js 문법이 들어있어서 당황&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;학교다닐 때 별찍기 진짜 많이 했는데, JS로는 처음 풀어본다. repeat 너무 좋아&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;좋아요 가장 많이 받은 답변이랑 똑같이 풀어서 뿌듯하다 ✨&lt;/span&gt;&lt;/p&gt;</description>
      <category>프로그래머스/Lv. 1</category>
      <category>JavaScript</category>
      <category>LV1</category>
      <category>자바스크립트</category>
      <category>직사각형 별찍기</category>
      <category>코딩테스트 연습</category>
      <category>프로그래머스</category>
      <author>안댕이</author>
      <guid isPermaLink="true">https://webd.tistory.com/141</guid>
      <comments>https://webd.tistory.com/141#entry141comment</comments>
      <pubDate>Wed, 30 Aug 2023 16:09:09 +0900</pubDate>
    </item>
    <item>
      <title>[프로그래머스] Lv.1 행렬의 덧셈 / JS</title>
      <link>https://webd.tistory.com/140</link>
      <description>&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  문제 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left; font-family: 'Noto Sans Light';&quot;&gt;행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;⭐ 제한사항&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;arr1&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;arr2&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;return&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[[1, 2], [2, 3]]&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[[3, 4], [5, 6]]&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[[4, 6], [7,9]]&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[[1], [2]]&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[[3], [4]]&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[[4], [6]]&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  나의 답변&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;1️⃣ 2중 for문을 활용한 풀이&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1693378530942&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;function solution(arr1, arr2) {
    const answer = [];
    for(let i = 0; i &amp;lt; arr1.length; i++) {
        answer.push([]);
        for(let j = 0; j &amp;lt; arr1[i].length; j++) {
            answer[i].push(arr1[i][j] + arr2[i][j]);
        }
    }
    return answer;
}&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;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2️⃣&lt;b&gt; map() 메서드를 활용한 풀이&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1693378621006&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;function solution(arr1, arr2) {
    return arr1.map((row, i) =&amp;gt; row.map((col, j) =&amp;gt; col + arr2[i][j]));
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>프로그래머스/Lv. 1</category>
      <category>JavaScript</category>
      <category>LV1</category>
      <category>자바스크립트</category>
      <category>코딩테스트 연습</category>
      <category>프로그래머스</category>
      <category>행렬의 덧셈</category>
      <author>안댕이</author>
      <guid isPermaLink="true">https://webd.tistory.com/140</guid>
      <comments>https://webd.tistory.com/140#entry140comment</comments>
      <pubDate>Wed, 30 Aug 2023 15:57:43 +0900</pubDate>
    </item>
    <item>
      <title>[프로그래머스] Lv.1 문자열 다루기 기본 / JS</title>
      <link>https://webd.tistory.com/139</link>
      <description>&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  문제 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left; font-family: 'Noto Sans Light';&quot;&gt;문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 &quot;a234&quot;이면 False를 리턴하고 &quot;1234&quot;라면 True를 리턴하면 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;⭐ 제한사항&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;s는 길이 1 이상, 길이 8 이하인 문자열입니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;s는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;table style=&quot;border-collapse: collapse; width: 40.1163%; height: 103px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;s&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;return&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&quot;a234&quot;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;false&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&quot;1234&quot;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;true&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  나의 답변&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;pre class=&quot;matlab&quot; style=&quot;background-color: #202b3d; color: #93a1a1; text-align: left;&quot;&gt;&lt;code&gt;function solution(s) {
    return (s.length === 4 || s.length === 6) &amp;amp;&amp;amp; s.replaceAll(/[0-9]/g, '').length === 0;
}&lt;/code&gt;&lt;/pre&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;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;⭐ 참고할 답변&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1693376768399&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;function solution(s) {
    return /^\d{6}$|^\d{4}$/.test(s);
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;정규식 제대로 공부해야겠다 wow&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;  &lt;code&gt;test()&lt;/code&gt; : 문자열이 정규표현식과 매칭되면 true, 아니면 false 반환&lt;/span&gt;&lt;/p&gt;</description>
      <category>프로그래머스/Lv. 1</category>
      <category>JavaScript</category>
      <category>LV1</category>
      <category>문자열 다루기 기본</category>
      <category>자바스크립트</category>
      <category>코딩테스트 연습</category>
      <category>프로그래머스</category>
      <author>안댕이</author>
      <guid isPermaLink="true">https://webd.tistory.com/139</guid>
      <comments>https://webd.tistory.com/139#entry139comment</comments>
      <pubDate>Wed, 30 Aug 2023 15:27:29 +0900</pubDate>
    </item>
    <item>
      <title>[프로그래머스] Lv.1 부족한 금액 계산하기 / JS</title>
      <link>https://webd.tistory.com/138</link>
      <description>&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  문제 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left; font-family: 'Noto Sans Light';&quot;&gt;새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이용료가 100이었다면 2번째에는 200, 3번째에는 300으로 요금이 인상됩니다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left; font-family: 'Noto Sans Light';&quot;&gt;놀이기구를 count번 타게 되면 현재 자신이 가지고 있는 금액에서 얼마가 모자라는지를 return 하도록 solution 함수를 완성하세요.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left; font-family: 'Noto Sans Light';&quot;&gt;단, 금액이 부족하지 않으면 0을 return 하세요.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;⭐ 제한사항&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;놀이기구의 이용료 price : 1 &amp;le; price &amp;le; 2,500, price는 자연수&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;처음 가지고 있던 금액 money : 1 &amp;le; money &amp;le; 1,000,000,000, money는 자연수&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;놀이기구의 이용 횟수 count : 1 &amp;le; count &amp;le; 2,500, count는 자연수&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;
&lt;table style=&quot;border-collapse: collapse; width: 52.6744%; height: 66px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;price&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;money&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;count&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;result&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;3&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;20&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;4&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;10&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;입출력&amp;nbsp;예&amp;nbsp;#1&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot;&gt;이용금액이 3인 놀이기구를 4번 타고 싶은 고객이 현재 가진 금액이 20이라면, 총 필요한 놀이기구의 이용 금액은 30&amp;nbsp;&lt;/span&gt;&lt;b&gt;(= 3+6+9+12)&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot;&gt;&amp;nbsp;이 되어 10만큼 부족하므로 10을 return 합니다.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  나의 답변&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;pre class=&quot;matlab&quot; style=&quot;background-color: #202b3d; color: #93a1a1; text-align: left;&quot;&gt;&lt;code&gt;function solution(price, money, count) {
    let fee = 0;
    for(let i = 1; i &amp;lt;= count; i++) {
        fee += price * i;
    }
    return fee &amp;lt; money ? 0 : fee - money;
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;⭐ 참고할 답변 - 가우스 공식&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;pre class=&quot;ada&quot; style=&quot;background-color: #202b3d; color: #93a1a1; text-align: left;&quot;&gt;&lt;code&gt;function solution(price, money, count) {
    const tmp = price * count * (count + 1) / 2 - money;
    return tmp &amp;gt; 0 ? tmp : 0;
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left; font-family: 'Noto Sans Light';&quot;&gt;수학을 잘해야 하는 이유&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot;&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <category>프로그래머스/Lv. 1</category>
      <category>JavaScript</category>
      <category>LV1</category>
      <category>부족한 금액 계산하기</category>
      <category>위클리 챌린지</category>
      <category>자바스크립트</category>
      <category>코딩테스트 연습</category>
      <category>프로그래머스</category>
      <author>안댕이</author>
      <guid isPermaLink="true">https://webd.tistory.com/138</guid>
      <comments>https://webd.tistory.com/138#entry138comment</comments>
      <pubDate>Wed, 30 Aug 2023 15:16:38 +0900</pubDate>
    </item>
    <item>
      <title>[프로그래머스] Lv.1 문자열 내림차순으로 배치하기 / JS</title>
      <link>https://webd.tistory.com/137</link>
      <description>&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  문제 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left; font-family: 'Noto Sans Light';&quot;&gt;문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left; font-family: 'Noto Sans Light';&quot;&gt;s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;⭐ 제한사항&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;str은 길이 1 이상인 문자열입니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;table style=&quot;border-collapse: collapse; width: 24.4186%; height: 51px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;s&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;return&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&quot;Zbcdefg&quot;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&quot;gfedcbZ&quot;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  나의 답변&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;pre class=&quot;lua&quot; style=&quot;background-color: #202b3d; color: #93a1a1; text-align: left;&quot;&gt;&lt;code&gt;function solution(s) {
    return [...s].sort().reverse().join(&quot;&quot;);
}&lt;/code&gt;&lt;/pre&gt;</description>
      <category>프로그래머스/Lv. 1</category>
      <category>JavaScript</category>
      <category>LV1</category>
      <category>문자열 내림차순으로 배치하기</category>
      <category>자바스크립트</category>
      <category>코딩테스트 연습</category>
      <category>프로그래머스</category>
      <author>안댕이</author>
      <guid isPermaLink="true">https://webd.tistory.com/137</guid>
      <comments>https://webd.tistory.com/137#entry137comment</comments>
      <pubDate>Wed, 30 Aug 2023 15:06:54 +0900</pubDate>
    </item>
    <item>
      <title>[프로그래머스] Lv.1 약수의 개수와 덧셈 / JS</title>
      <link>https://webd.tistory.com/136</link>
      <description>&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  문제 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;span style=&quot;color: #263747; text-align: left;&quot;&gt;두 정수&amp;nbsp;&lt;/span&gt;left&lt;span style=&quot;color: #263747; text-align: left;&quot;&gt;와&amp;nbsp;&lt;/span&gt;right&lt;span style=&quot;color: #263747; text-align: left;&quot;&gt;가 매개변수로 주어집니다.&amp;nbsp;&lt;/span&gt;left&lt;span style=&quot;color: #263747; text-align: left;&quot;&gt;부터&amp;nbsp;&lt;/span&gt;right&lt;span style=&quot;color: #263747; text-align: left;&quot;&gt;까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;⭐ 제한사항&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1 &amp;le;&amp;nbsp;left&amp;nbsp;&amp;le;&amp;nbsp;right&amp;nbsp;&amp;le; 1,000&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;table style=&quot;border-collapse: collapse; width: 36.8605%; height: 101px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;left&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;right&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;result&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;13&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;17&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;43&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;24&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;27&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;52&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;입출력&amp;nbsp;예&amp;nbsp;#1&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;다음 표는 13부터 17까지의 수들의 약수를 모두 나타낸 것입니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;290&quot; data-origin-height=&quot;223&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/12zvF/btssvv7kGsV/kT0c8HXWrhdPRFtYj32f40/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/12zvF/btssvv7kGsV/kT0c8HXWrhdPRFtYj32f40/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/12zvF/btssvv7kGsV/kT0c8HXWrhdPRFtYj32f40/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F12zvF%2Fbtssvv7kGsV%2FkT0c8HXWrhdPRFtYj32f40%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;290&quot; height=&quot;223&quot; data-origin-width=&quot;290&quot; data-origin-height=&quot;223&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;입출력&amp;nbsp;예&amp;nbsp;#2&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;다음 표는 24부터 27까지의 수들의 약수를 모두 나타낸 것입니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;357&quot; data-origin-height=&quot;190&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/q9tzp/btssvyiJFQ8/GDpZLhGtmWqLkNkwpFanA1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/q9tzp/btssvyiJFQ8/GDpZLhGtmWqLkNkwpFanA1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/q9tzp/btssvyiJFQ8/GDpZLhGtmWqLkNkwpFanA1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fq9tzp%2FbtssvyiJFQ8%2FGDpZLhGtmWqLkNkwpFanA1%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;357&quot; height=&quot;190&quot; data-origin-width=&quot;357&quot; data-origin-height=&quot;190&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;따라서, 24 - 25 + 26 + 27 = 52를 return 해야 합니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  나의 답변&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1693375238304&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;function solution(left, right) {
    let answer = 0;
    
    for(let i = left; i &amp;lt;= right; i++) {
        let count = 0;
        for(let j = 1; j &amp;lt;= i; j++) {
            if(i % j === 0) count++;
        }
        count % 2 ? answer -= i : answer += i;
    }
    
    return answer;
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;⭐ 감탄한 답변&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;pre class=&quot;matlab&quot; style=&quot;background-color: #202b3d; color: #93a1a1; text-align: left;&quot;&gt;&lt;code&gt;function solution(left, right) {
    var answer = 0;
    for (let i = left; i &amp;lt;= right; i++) {
        if (Number.isInteger(Math.sqrt(i))) {
            answer -= i;
        } else {
            answer += i;
        }
    }
    return answer;
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;약수는 대칭을 이루는데, 제곱근만이 자기자신과 대칭을 이루기 때문에 제곱근이 정수면 약수의 개수가 홀수다...&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;천잰가  &lt;/span&gt;&lt;/p&gt;</description>
      <category>프로그래머스/Lv. 1</category>
      <category>JavaScript</category>
      <category>LV1</category>
      <category>약수의 개수와 덧셈</category>
      <category>월간 코드 챌린지 시즌2</category>
      <category>자바스크립트</category>
      <category>코딩테스트 연습</category>
      <category>프로그래머스</category>
      <author>안댕이</author>
      <guid isPermaLink="true">https://webd.tistory.com/136</guid>
      <comments>https://webd.tistory.com/136#entry136comment</comments>
      <pubDate>Wed, 30 Aug 2023 15:02:20 +0900</pubDate>
    </item>
    <item>
      <title>[프로그래머스] Lv.1 내적 / JS</title>
      <link>https://webd.tistory.com/135</link>
      <description>&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  문제 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의&amp;nbsp;&lt;a style=&quot;color: #0078ff;&quot; href=&quot;https://en.wikipedia.org/wiki/Dot_product&quot;&gt;내적&lt;/a&gt;을 return 하도록 solution 함수를 완성해주세요.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이때, a와 b의 내적은&amp;nbsp;a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1]&amp;nbsp;입니다. (n은 a, b의 길이)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;⭐ 제한사항&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;a, b의 길이는 1 이상 1,000 이하입니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;a, b의 모든 수는 -1,000 이상 1,000 이하입니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;
&lt;table style=&quot;border-collapse: collapse; width: 44.5349%; height: 88px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;a&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;b&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;result&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[1, 2, 3, 4]&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[-3, -1, 0, 2]&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;3&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[-1, 0, 1]&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[1, 0, -1]&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;-2&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;입출력&amp;nbsp;예&amp;nbsp;#1&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;a와 b의 내적은&amp;nbsp;1*(-3) + 2*(-1) + 3*0 + 4*2 = 3&amp;nbsp;입니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;입출력&amp;nbsp;예&amp;nbsp;#2&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;a와 b의 내적은&amp;nbsp;(-1)*1 + 0*0 + 1*(-1) = -2&amp;nbsp;입니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;⭐ 내적이란?&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #202122; text-align: start;&quot;&gt;유클리드 공간의 두 벡터로부터 실수 스칼라&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #202122; text-align: start;&quot;&gt;를 얻는 연산&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #202122; text-align: start; font-family: 'Noto Sans Light';&quot;&gt;같은 위치의 성분을 곱한 뒤 모두 합하여 얻는 값 &lt;span style=&quot;background-color: #ffffff; color: #202122; text-align: start;&quot;&gt;...  &amp;zwj;♀️&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  나의 답변&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1693373353249&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;function solution(a, b) {
    return a.reduce((acc, curr, i) =&amp;gt; acc += curr * b[i], 0);
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;for문으로 풀다가 reduce 인자값으로 index가 들어갈 수 있는 걸 깨닫고 다시 풀었다.&lt;/span&gt;&lt;/p&gt;</description>
      <category>프로그래머스/Lv. 1</category>
      <category>JavaScript</category>
      <category>LV1</category>
      <category>내적</category>
      <category>월간 코드 챌린지 시즌1</category>
      <category>자바스크립트</category>
      <category>코딩테스트 연습</category>
      <category>프로그래머스</category>
      <author>안댕이</author>
      <guid isPermaLink="true">https://webd.tistory.com/135</guid>
      <comments>https://webd.tistory.com/135#entry135comment</comments>
      <pubDate>Wed, 30 Aug 2023 14:30:20 +0900</pubDate>
    </item>
    <item>
      <title>[프로그래머스] Lv.1 수박수박수박수박수박수? / JS</title>
      <link>https://webd.tistory.com/134</link>
      <description>&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  문제 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left; font-family: 'Noto Sans Light';&quot;&gt;길이가 n이고, &quot;수박수박수박수....&quot;와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 &quot;수박수박&quot;을 리턴하고 3이라면 &quot;수박수&quot;를 리턴하면 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;⭐ 제한사항&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;n은 길이 10,000이하인 자연수입니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;table style=&quot;border-collapse: collapse; width: 31.1628%; height: 98px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;n&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;return&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;3&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&quot;수박수&quot;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;4&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&quot;수박수박&quot;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  나의 답변&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;pre class=&quot;matlab&quot; style=&quot;background-color: #202b3d; color: #93a1a1; text-align: left;&quot;&gt;&lt;code&gt;function solution(n) {
    let result = &quot;&quot;;
    for(let i = 0; i &amp;lt; n; i++) {
        result += i % 2 ? &quot;박&quot; : &quot;수&quot;
    }
    return result;
}&lt;/code&gt;&lt;/pre&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;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;⭐ 참고할 답변&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1693372576500&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;function solution(n) {
    return '수박'.repeat(n/2) + (n%2 ? '수' : '');
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>프로그래머스/Lv. 1</category>
      <category>JavaScript</category>
      <category>LV1</category>
      <category>수박수박수박수박수박수?</category>
      <category>자바스크립트</category>
      <category>코딩테스트 연습</category>
      <category>프로그래머스</category>
      <author>안댕이</author>
      <guid isPermaLink="true">https://webd.tistory.com/134</guid>
      <comments>https://webd.tistory.com/134#entry134comment</comments>
      <pubDate>Wed, 30 Aug 2023 14:18:41 +0900</pubDate>
    </item>
    <item>
      <title>[프로그래머스] Lv.1 가운데 글자 가져오기 / JS</title>
      <link>https://webd.tistory.com/133</link>
      <description>&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  문제 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left; font-family: 'Noto Sans Light';&quot;&gt;단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;⭐ 제한사항&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;s는 길이가 1 이상, 100이하인 스트링입니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;table style=&quot;border-collapse: collapse; width: 26.9767%; height: 113px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;s&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;return&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&quot;abcde&quot;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&quot;c&quot;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&quot;qwer&quot;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&quot;we&quot;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  나의 답변&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1693372200802&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;function solution(s) {
    const mid = Math.floor(s.length/2);
    return s.length % 2 ? s[mid] : s[mid-1] + s[mid];
}&lt;/code&gt;&lt;/pre&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;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;⭐ 참고할 답변&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;pre class=&quot;matlab&quot; style=&quot;background-color: #202b3d; color: #93a1a1; text-align: left;&quot;&gt;&lt;code&gt;function solution(s) {
    return s.substr(Math.ceil(s.length / 2) - 1, s.length % 2 === 0 ? 2 : 1);
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;substr로 잘라줘도 되는구나  &lt;/span&gt;&lt;/p&gt;</description>
      <category>프로그래머스/Lv. 1</category>
      <category>JavaScript</category>
      <category>LV1</category>
      <category>가운데 글자 가져오기</category>
      <category>자바스크립트</category>
      <category>코딩테스트 연습</category>
      <category>프로그래머스</category>
      <author>안댕이</author>
      <guid isPermaLink="true">https://webd.tistory.com/133</guid>
      <comments>https://webd.tistory.com/133#entry133comment</comments>
      <pubDate>Wed, 30 Aug 2023 14:10:40 +0900</pubDate>
    </item>
    <item>
      <title>[프로그래머스] Lv.1 제일 작은 수 제거하기 / JS</title>
      <link>https://webd.tistory.com/132</link>
      <description>&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  문제 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left; font-family: 'Noto Sans Light';&quot;&gt;정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;⭐ 제한사항&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;arr은 길이 1 이상인 배열입니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;인덱스 i, j에 대해 i &amp;ne; j이면 arr[i] &amp;ne; arr[j] 입니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;arr&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;return&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[4, 3, 2, 1]&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[4, 3, 2]&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[10]&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[-1]&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  나의 답변&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;1️⃣ splice, indexOf를 활용한 풀이&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1693360038488&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;function solution(arr) {
    arr.splice(arr.indexOf(Math.min(...arr)), 1);
    return arr.length ? arr : [-1];
}&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;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2️⃣ &lt;b&gt;filter를 활용한 풀이&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;javascript&quot; style=&quot;background-color: #202b3d; color: #93a1a1; text-align: left;&quot;&gt;&lt;code&gt;function solution(arr) {
    const filteredArray = arr.filter((v) =&amp;gt; v !== Math.min(...arr));
    return filteredArray.length ? filteredArray : [-1];
}&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;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이제 문제 제목을 보면 이거 이 메서드 쓰면 되겠다! 싶은 생각이 든다&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;좀 성장한 듯  &lt;/span&gt;&lt;/p&gt;</description>
      <category>프로그래머스/Lv. 1</category>
      <category>JavaScript</category>
      <category>LV1</category>
      <category>자바스크립트</category>
      <category>제일 작은 수 제거하기</category>
      <category>코딩테스트 연습</category>
      <category>프로그래머스</category>
      <author>안댕이</author>
      <guid isPermaLink="true">https://webd.tistory.com/132</guid>
      <comments>https://webd.tistory.com/132#entry132comment</comments>
      <pubDate>Wed, 30 Aug 2023 10:50:32 +0900</pubDate>
    </item>
    <item>
      <title>[프로그래머스] Lv.1 없는 숫자 더하기 / JS</title>
      <link>https://webd.tistory.com/131</link>
      <description>&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  문제 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot;&gt;0부터 9까지의 숫자 중 일부가 들어있는 정수 배열&amp;nbsp;&lt;/span&gt;numbers&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot;&gt;가 매개변수로 주어집니다.&amp;nbsp;&lt;/span&gt;numbers&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot;&gt;에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;⭐ 제한사항&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1 &amp;le;&amp;nbsp;numbers의 길이 &amp;le; 9&lt;/span&gt;
&lt;ul style=&quot;list-style-type: circle; color: #000000;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;0 &amp;le;&amp;nbsp;numbers의 모든 원소 &amp;le; 9&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;numbers의 모든 원소는 서로 다릅니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;number&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;return&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[1, 2, 3, 4, 6, 7, 8, 0]&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;14&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[5, 8, 4, 0, 6, 7, 9]&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;6&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;입출력&amp;nbsp;예&amp;nbsp;#1&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;5, 9가&amp;nbsp;numbers에 없으므로, 5 + 9 = 14를 return 해야 합니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;입출력&amp;nbsp;예&amp;nbsp;#2&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1, 2, 3이&amp;nbsp;numbers에 없으므로, 1 + 2 + 3 = 6을 return 해야 합니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  나의 답변&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1693359298393&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;function solution(numbers) {
    const set = new Set([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]);
    numbers.forEach((v) =&amp;gt; set.delete(v));
    return [...set].reduce((acc, curr) =&amp;gt; acc + curr);
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;set을 생성하고, numbers에 들어있는 숫자는 지운다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;그리고 reduce로 값을 모두 더해 출력하면 끝!&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;⭐ 참고할 답변&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;pre class=&quot;arcade&quot; style=&quot;background-color: #202b3d; color: #93a1a1; text-align: left;&quot;&gt;&lt;code&gt;function solution(numbers) {
    return 45 - numbers.reduce((cur, acc) =&amp;gt; cur + acc, 0);
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;0부터 9까지 모두 더한 값에서 numbers의 모든 원소를 더한 값을 빼면 없는 원소들의 합이 나온다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이런 수학적 사고가... 필요하다...  &lt;/span&gt;&lt;/p&gt;</description>
      <category>프로그래머스/Lv. 1</category>
      <category>JavaScript</category>
      <category>LV1</category>
      <category>없는 숫자 더하기</category>
      <category>월간 코드 챌린지 시즌3</category>
      <category>자바스크립트</category>
      <category>코딩테스트 연습</category>
      <category>프로그래머스</category>
      <author>안댕이</author>
      <guid isPermaLink="true">https://webd.tistory.com/131</guid>
      <comments>https://webd.tistory.com/131#entry131comment</comments>
      <pubDate>Wed, 30 Aug 2023 10:37:18 +0900</pubDate>
    </item>
    <item>
      <title>[프로그래머스] Lv.1 핸드폰 번호 가리기 / JS</title>
      <link>https://webd.tistory.com/130</link>
      <description>&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  문제 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left; font-family: 'Noto Sans Light';&quot;&gt;프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot;&gt;전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부&amp;nbsp;&lt;/span&gt;*&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left;&quot;&gt;으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;⭐ 제한사항&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;phone_number는 길이 4 이상, 20이하인 문자열입니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;phone_number&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;return&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&quot;01033334444&quot;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&quot;*******4444&quot;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&quot;027778888&quot;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&quot;*****8888&quot;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  나의 답변&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1️⃣ &lt;code&gt;*&lt;/code&gt;로 채워진 배열을 생성하여 뒷 4자리 문자열과 더해주기&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;배열을 생성하는 과정이 생략되어도 될 것 같다.&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;javascript&quot; style=&quot;background-color: #202b3d; color: #93a1a1; text-align: left;&quot;&gt;&lt;code&gt;function solution(phone_number) {
    const num = phone_number.length - 4;
    return new Array(num).fill(&quot;*&quot;).join('') + phone_number.slice(num);
}&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;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2️⃣ &lt;code&gt;fill()&lt;/code&gt; 활용&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1번의 풀이를 조금 더 간결하게 풀어보았다. fill이 배열을 새로 채워주니까, 0부터 뒷 4자리 이전까지를 &lt;code&gt;*&lt;/code&gt;로 채우고, &lt;code&gt;join(&quot;&quot;)&lt;/code&gt;으로 문자열로 변환하여 반환&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1693358064725&quot; class=&quot;matlab&quot; style=&quot;background-color: #f8f8f8; color: #383a42;&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;function solution(phone_number) {
    return [...phone_number].fill(&quot;*&quot;, 0, phone_number.length - 4).join(&quot;&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;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;3️⃣&lt;b&gt; &lt;code&gt;repeat()&lt;/code&gt; 활용 ✨&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;code&gt;*&lt;/code&gt;을 반복해서 찍어주면 되는 거니까, repeat()을 쓰는 게 훨씬 간결하고 좋은 것 같다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1693357870474&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;function solution(phone_number) {
    return &quot;*&quot;.repeat(phone_number.length - 4) + phone_number.slice(-4);
}&lt;/code&gt;&lt;/pre&gt;</description>
      <category>프로그래머스/Lv. 1</category>
      <category>JavaScript</category>
      <category>LV1</category>
      <category>자바스크립트</category>
      <category>코딩테스트 연습</category>
      <category>프로그래머스</category>
      <category>핸드폰 번호 가리기</category>
      <author>안댕이</author>
      <guid isPermaLink="true">https://webd.tistory.com/130</guid>
      <comments>https://webd.tistory.com/130#entry130comment</comments>
      <pubDate>Wed, 30 Aug 2023 10:17:58 +0900</pubDate>
    </item>
    <item>
      <title>[프로그래머스] Lv.1 음양 더하기 / JS</title>
      <link>https://webd.tistory.com/129</link>
      <description>&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  문제 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left; font-family: 'Noto Sans Light';&quot;&gt;어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;⭐ 제한사항&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;absolutes의 길이는 1 이상 1,000 이하입니다.&lt;/span&gt;
&lt;ul style=&quot;list-style-type: circle; color: #000000;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;absolutes의 모든 수는 각각 1 이상 1,000 이하입니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;signs의 길이는 absolutes의 길이와 같습니다.&lt;/span&gt;
&lt;ul style=&quot;list-style-type: circle; color: #000000;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;signs[i]&amp;nbsp;가 참이면&amp;nbsp;absolutes[i]&amp;nbsp;의 실제 정수가 양수임을, 그렇지 않으면 음수임을 의미합니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;
&lt;table style=&quot;border-collapse: collapse; width: 57.2093%; height: 104px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;absolutes&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;signs&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;result&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[4, 7, 12]&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[true, true, true]&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;9&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[1, 2, 3]&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[false, false, true]&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;0&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;입출력&amp;nbsp;예&amp;nbsp;#1&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;signs가&amp;nbsp;[true,false,true]&amp;nbsp;이므로, 실제 수들의 값은 각각 4, -7, 12입니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;따라서 세 수의 합인 9를 return 해야 합니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;입출력&amp;nbsp;예&amp;nbsp;#2&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;signs가&amp;nbsp;[false,false,true]&amp;nbsp;이므로, 실제 수들의 값은 각각 -1, -2, 3입니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;따라서 세 수의 합인 0을 return 해야 합니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  나의 답변&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1693356713467&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;function solution(absolutes, signs) {
    return signs.map((v, i) =&amp;gt; v ? absolutes[i] : -absolutes[i]).reduce((acc, curr) =&amp;gt; acc + curr, 0);
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Lv. 0에서 배열 메서드 공부하고 푸니까 이제 아주 쉽게 풀 수 있다!&lt;/span&gt;&lt;/p&gt;</description>
      <category>프로그래머스/Lv. 1</category>
      <category>JavaScript</category>
      <category>LV1</category>
      <category>월간 코드 챌린지 시즌2</category>
      <category>음양 더하기</category>
      <category>자바스크립트</category>
      <category>코딩테스트 연습</category>
      <category>프로그래머스</category>
      <author>안댕이</author>
      <guid isPermaLink="true">https://webd.tistory.com/129</guid>
      <comments>https://webd.tistory.com/129#entry129comment</comments>
      <pubDate>Wed, 30 Aug 2023 09:53:07 +0900</pubDate>
    </item>
    <item>
      <title>[프로그래머스] Lv.1 나누어 떨어지는 숫자 배열 / JS</title>
      <link>https://webd.tistory.com/128</link>
      <description>&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  문제 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left; font-family: 'Noto Sans Light';&quot;&gt;array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left; font-family: 'Noto Sans Light';&quot;&gt;divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;⭐ 제한사항&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;arr은 자연수를 담은 배열입니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;정수 i, j에 대해 i &amp;ne; j 이면 arr[i] &amp;ne; arr[j] 입니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;divisor는 자연수입니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;array는 길이 1 이상인 배열입니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;arr&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;divisor&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;return&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[5, 9, 7, 10]&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;5&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[5, 10]&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[2, 36, 1, 3]&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[1, 2, 3, 36]&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[3, 2, 6]&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;10&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;[-1]&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  입출력 예 설명&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;입출력&amp;nbsp;예&amp;nbsp;#1&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left; font-family: 'Noto Sans Light';&quot;&gt;arr의 원소 중 5로 나누어 떨어지는 원소는 5와 10입니다. 따라서 [5, 10]을 리턴합니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;입출력&amp;nbsp;예&amp;nbsp;#2&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left; font-family: 'Noto Sans Light';&quot;&gt;arr의 모든 원소는 1으로 나누어 떨어집니다. 원소를 오름차순으로 정렬해 [1, 2, 3, 36]을 리턴합니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;입출력 예 #3&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #263747; text-align: left; font-family: 'Noto Sans Light';&quot;&gt;3, 2, 6은 10으로 나누어 떨어지지 않습니다. 나누어 떨어지는 원소가 없으므로 [-1]을 리턴합니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #2c2828; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;  나의 답변&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;pre class=&quot;javascript&quot; style=&quot;background-color: #202b3d; color: #93a1a1; text-align: left;&quot;&gt;&lt;code&gt;function solution(arr, divisor) {
    const answer = arr.filter((v) =&amp;gt; v % divisor === 0).sort((a, b) =&amp;gt; a - b);
    return answer.length ? answer : [-1];
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;술술 풀고 정답 확인하니 좋아요 가장 많은 정답이랑 비슷했다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;괜히 기분 좋다  &lt;/span&gt;&lt;/p&gt;</description>
      <category>프로그래머스/Lv. 1</category>
      <category>JavaScript</category>
      <category>LV1</category>
      <category>나누어 떨어지는 숫자 배열</category>
      <category>자바스크립트</category>
      <category>코딩테스트 연습</category>
      <category>프로그래머스</category>
      <author>안댕이</author>
      <guid isPermaLink="true">https://webd.tistory.com/128</guid>
      <comments>https://webd.tistory.com/128#entry128comment</comments>
      <pubDate>Wed, 30 Aug 2023 09:43:28 +0900</pubDate>
    </item>
  </channel>
</rss>