<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>코드일기장</title>
    <link>https://javaone.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Tue, 7 Jul 2026 20:43:08 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>codeStudy123</managingEditor>
    <item>
      <title>[JSP] forward, include 액션 태그</title>
      <link>https://javaone.tistory.com/131</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;  forward 액션 태그&lt;/b&gt;&lt;/h4&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; forward 액션 태그는 현재 JSP 페이지에서 다른 페이지로 이동하는 태그이다. 현재 JSP 페이지에서 forward 액션 태그를 만나면 그전까지 출력 버퍼에 저장되어 있던 내용을 모두 삭제한다. 그리고 설정된 forward 액션 태그의 page 속성 값의 설정 페이지로 프로그램의 제어가 이동된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1658469210007&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;jsp:forward page=&quot;파일명&quot;/&amp;gt;  &amp;lt;&amp;lt;---- XML 형식
&amp;lt;jsp:forward page=&quot;파일명&quot;&amp;gt;&amp;lt;/jsp:forward&amp;gt;  &amp;lt;&amp;lt;---- HTML 형식&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; 액션 태그의 형식이다. 액션 태그는 반드시 끝나는 태그가 존재해야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; page 속성 값은 현재 JSP 페이지에서 이동할 페이지의 외부 파일명이다. 외부 파일이 현재 JSP 파일과 같은 디랙터리에 존재하면 파일명만 설정하고 다른 디렉터리에 존재하면 URL(또는 상대 경로)을 설정해야 한다.&lt;/p&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;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; 다음은 forward 예제 코드이다.&lt;/p&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;[first.jsp]&lt;/p&gt;
&lt;pre id=&quot;code_1658469602712&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;%@ page contentType=&quot;text/html&quot;; charset=&quot;utf-8&quot;%&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;title&amp;gt;JSP forward 연습&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;

&amp;lt;body&amp;gt;
	&amp;lt;h3&amp;gt;현재 페이지는 first.jsp입니다.&amp;lt;/h3&amp;gt;
    &amp;lt;jsp:forward page=&quot;second.jsp&quot;/&amp;gt;
    &amp;lt;p&amp;gt;
    	=====first.jsp 페이지=====
    &amp;lt;/p&amp;gt;
&amp;lt;/body&amp;gt;

&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&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;[second.jsp]&lt;/p&gt;
&lt;pre id=&quot;code_1658469752398&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;%@ page contentType=&quot;text/html&quot;; charset=&quot;utf-8&quot;%&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
	&amp;lt;title&amp;gt;second.jsp 파일입니다.&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
	&amp;lt;h3&amp;gt;이 파일은 second.jsp 입니다.&amp;lt;/h3&amp;gt;
    Today is : &amp;lt;%=new java.util.Date()%&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;475&quot; data-origin-height=&quot;100&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b8C0aG/btrIT8nHVDh/8AVL9WXpC8KmTM0EJdwHh0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b8C0aG/btrIT8nHVDh/8AVL9WXpC8KmTM0EJdwHh0/img.png&quot; data-alt=&quot;first.jsp 파일 실행 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b8C0aG/btrIT8nHVDh/8AVL9WXpC8KmTM0EJdwHh0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb8C0aG%2FbtrIT8nHVDh%2F8AVL9WXpC8KmTM0EJdwHh0%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;475&quot; height=&quot;100&quot; data-origin-width=&quot;475&quot; data-origin-height=&quot;100&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;first.jsp 파일 실행 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; 웹 브라우저 실행 결과를 보면 브라우저가 요청한 first.jsp 파일 내용은 존재하지 않는다. seond.jsp 파일 내용만 존재한다. 하지만 웹 브라우저의 주소 경로는 first.jsp이다. first.jsp가 forward 액션 태그를 만나 first.jsp의 출력 버퍼 내용을 모두 삭제하여 내용이 존재하지 않는 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &lt;b&gt;forward 액션 태그의 주의점은 다음과 같다.&lt;/b&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;웹 서버는 forward 액션 태그를 수행할 때 출력 버퍼를 지우므로&amp;nbsp; 현재 페이지에서 forward 액션 태그가 선언된 지점 이전 HTML 코드는 손실된다.&amp;nbsp;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;  include 액션 태그&lt;/b&gt;&lt;/h4&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; include 액션 태그는 include 디렉티브 태그와 기능이 매우 비슷하다. 사용법도 비슷하다. 현재 JSP 페이지에서 특정 영역에 외부 파일의 내용을 포함시키는 것은 디렉티브나 액션이나 동일하게 적용된다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1658470355331&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;jsp:include page=&quot;파일명&quot;  flush=&quot;false&quot;/&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; page 속성 값으로 외부 파일을 설정한다. 같이 디렉터리의 외부 파일이면 파일명만, 그렇지 않다면 전체 경로를 적어준다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; flush 속성 값은 디폴트가 false이다. true로 속성 값을 지정하면 외부 파일로 제어가 이동할 때 현재 JSP 페이지가 지금까지 출력 버퍼에 저장된 내용을 웹 브라우저에 출력하고 출력 버퍼를 비운다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &lt;b&gt;&lt;span style=&quot;color: #456771;&quot;&gt;일반적으로 flush 속성 값은 false로 지정하는 것이 좋다. true로 지정하면 출력 버퍼를 웹 브라우저에 전송하는데 이때 헤더 정보도 같이 전송된다. 웹 브라우저에 전송되고 나면 헤더 정보를 추가해도 결과에 반영되지 않는다.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; include 액션 태그와 디렉티브 태그는 외부 파일을 포함시킨다는 점이 비슷하지만 포함된 외부 파일이 실행된 후 현재 JSP 페이지로 제어를 반환한다는 것이 가장 큰 차이점이다. 또한 JSP 컨테이너가 include 액션 태그를 만나면 include 액션 태그에 설정된 외부 파일의 실행 내용이 현재 JSP 페이지의 출력 버퍼에 추가 저장되어 출력된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;lt;표 1.&amp;gt; include 액션 태그와 include 디렉티브 태그의 차이&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style12&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;구분&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;include 액션 태그&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;include 디렉티브 태그&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;처리 시간&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;요청 시 자원을 포함한다.&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;번역 시 자원을 포함한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;기능&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;별도의 파일로 요청 처리 흐름을 이동한다.&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;현재 페이지에 삽입한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;데이터 전달 방법&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;request 기본 내장 객체나 param 액션 태그를 이용하여 파라미터를 전달.&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;페이지 내의 변수를 선언한 후 변수에 값을 저장한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;용도&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;화면 레이아웃의 일부분 모듈화할 때 주로 사용&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;다수의 JSP 웹 페이지에서 공통으로 사용되는 코드를 포함하는 경우 사용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;기타&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;동적 페이지에 사용&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;정적 페이지에 사용&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; 다음은 include 액션 태그 예제 코드이다.&lt;/p&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;[firstinclude.jsp]&lt;/p&gt;
&lt;pre id=&quot;code_1658471520824&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;%@ page contentType=&quot;text/html&quot;; charset=&quot;utf-8&quot;%&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
	&amp;lt;title&amp;gt;Action Tag&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
	&amp;lt;h3&amp;gt;현재 페이지는 firstinclude.jsp 파일입니다.&amp;lt;/h3&amp;gt;
    &amp;lt;jsp:include page=&quot;secondinclude.jsp/&amp;gt;
    &amp;lt;p&amp;gt;Java Server Page&amp;lt;/p&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&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;&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;[secondinclude.jsp]&lt;/p&gt;
&lt;pre id=&quot;code_1658471648007&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;%@ page contentType=&quot;text/html&quot;; charset=&quot;utf-8&quot;%&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
	&amp;lt;title&amp;gt;Action Tag&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
	&amp;lt;h3&amp;gt;현재 페이지는 secondinclude.jsp 파일 입니다.&amp;lt;/h3&amp;gt;
   	 Today is : &amp;lt;%= new java.util.Date()%&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&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;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;600&quot; data-origin-height=&quot;190&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LZLAt/btrIWsy5OXi/pensPUjJv9wkK15ncajtTk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LZLAt/btrIWsy5OXi/pensPUjJv9wkK15ncajtTk/img.png&quot; data-alt=&quot;firstinclude.jsp 파일 실행 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LZLAt/btrIWsy5OXi/pensPUjJv9wkK15ncajtTk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLZLAt%2FbtrIWsy5OXi%2FpensPUjJv9wkK15ncajtTk%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;190&quot; data-origin-width=&quot;600&quot; data-origin-height=&quot;190&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;firstinclude.jsp 파일 실행 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>JSP</category>
      <category>JSP</category>
      <author>codeStudy123</author>
      <guid isPermaLink="true">https://javaone.tistory.com/131</guid>
      <comments>https://javaone.tistory.com/131#entry131comment</comments>
      <pubDate>Thu, 4 Aug 2022 16:17:14 +0900</pubDate>
    </item>
    <item>
      <title>[JSP] include 디렉티브 태그의 기능과 사용법</title>
      <link>https://javaone.tistory.com/130</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; include 디렉티브 태그는 현재 JSP 페이지의 특정 영역에 외부 파일의 내용을 포함하는 태그이다. 여기서 외부 파일은 HTML, JSP, 텍스트 파일 등이다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; include 디렉티브 태그는 JSP 페이지 어디서든 선언할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1658232974299&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;%@ include file=&quot;파일명.파일형식&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;&amp;nbsp; 디렉티브에 대해 다시 설명하면 디렉티브 태그는 JSP 페이지가 서블릿 프로그램에서 서블릿 클래스로 변환될 때 JSP 페이지와 관련된 정보를 JSP 컨테이너에게 지시하는 메시지이다.&amp;nbsp; 디렉티브 태그는 세 종류이며 모두 &amp;lt;%@&amp;nbsp; 내용들 %&amp;gt;의 형식이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style12&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;디렉티브 태그&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;형식&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;설명&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;page&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;&amp;lt;%@ page . . . %&amp;gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;JSP 페이지에 대한 정보를 설정한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;include&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;&amp;lt;%@ include . . . %&amp;gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;JSP 페이지의 특정영역에 다른 문서를 포함한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;teglib&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;&amp;lt;%@ teglib . . . %&amp;gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;JSP 페이지에서 사용할 태그 라이브러리를 설정한다.&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;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1658233347106&quot; class=&quot;mel&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;%@ include file=&quot;파일명.파일형식&quot; %&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; file 속성 값은 현재 JSP 페이지에 포함할 내용을 가진 외부 파일명이다. 만약 현재 JSP 파일의 위치와 file 속성 값은 파일이 같은 디렉터리에 존재하면 파일명만 적으면 된다. 그렇지 않으면 전체 URL (또는 상대 경로)를 설정해야 한다.&lt;/p&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;pre id=&quot;code_1658233926455&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;%@ include file=&quot;loop.jsp&quot; %&amp;gt;
&amp;lt;%@ include file=&quot;../JSPFiles/user_inputnumber.jsp&quot; %&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; 두 번째 줄 코드는 상대경로(내 파일이 있는 위치를 기준)를 지정해 user_inputnumber.jsp 파일을 찾은 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;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;color: #ee2323;&quot;&gt;&amp;nbsp; include 디렉티브 태그를 왜 사용할까?&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; 만약 100개의 JSP 페이지에서 꼭 사용하는 바닥글 형식이 있다고 치면, 100개의 JSP페이지를 공통된 코드를 하나하나 복사 붙이기를 하기 번거롭고, 시간낭비이다. 또 공통된 바닥글 형식의 파일이 에러가 생겨 수정해야 하는 경우가 생기면 100개의 JSP 페이지에 복사 붙여 넣기 한 부분을 다 수정해야 한다. 위와 같은 문제를 해결하기 위해 include를 사용하는 것이다. include를 사용하면 단 한 번만 수정, 1줄의 코드로 100개의 JSP페이지에 모두 적용시킬 수 있다.&lt;/p&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; 이처럼 include 디렉티브 태그를 사용해 코드의 재사용성 향상할 수 있다. 또 웹 페이지를 모듈화 할 수 있어 유지 보수 측면에서 매우 유용하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;edited_제목 없는 그림.png&quot; data-origin-width=&quot;869&quot; data-origin-height=&quot;392&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Czxdu/btrHPeJ9cbd/btj7RgLAMJvppEnfzxdQe1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Czxdu/btrHPeJ9cbd/btj7RgLAMJvppEnfzxdQe1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Czxdu/btrHPeJ9cbd/btj7RgLAMJvppEnfzxdQe1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCzxdu%2FbtrHPeJ9cbd%2Fbtj7RgLAMJvppEnfzxdQe1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;869&quot; height=&quot;392&quot; data-filename=&quot;edited_제목 없는 그림.png&quot; data-origin-width=&quot;869&quot; data-origin-height=&quot;392&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 style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;[그림 1.] include 디렉티브 태그 실행 과정&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[jspPage.jsp]&lt;/p&gt;
&lt;pre id=&quot;code_1658234860735&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;%@ page language=&quot;java&quot; contentType=&quot;text/html; charset=UTF-8&quot;
	pageEncoding=&quot;UTF-8&quot;%&amp;gt;
    
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt;
&amp;lt;title&amp;gt;Insert title here&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;

&amp;lt;body&amp;gt;
	&amp;lt;p&amp;gt;jspPage.jsp입니다.&amp;lt;/p&amp;gt;
	&amp;lt;%@ include file=&quot;includeTest.jsp&quot;%&amp;gt;
	&amp;lt;hr&amp;gt;
	&amp;lt;p&amp;gt;---현재 페이지---&amp;lt;/p&amp;gt;
&amp;lt;/body&amp;gt;

&amp;lt;/html&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[includeTest.jsp]&lt;/p&gt;
&lt;pre id=&quot;code_1658234901075&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;%@ page language=&quot;java&quot; contentType=&quot;text/html; charset=UTF-8&quot; pageEncoding=&quot;UTF-8&quot; 
	trimDirectiveWhitespaces=&quot;true&quot; info=&quot;jsp inclued test&quot; %&amp;gt;
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt;
&amp;lt;title&amp;gt;Insert title here&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;

&amp;lt;strong&amp;gt;이 부분은 includeTest.jsp페이지의 내용입니다.&amp;lt;/strong&amp;gt;

&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1047&quot; data-origin-height=&quot;306&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b8jKme/btrHKn6zm1e/ZrIjedmYJr1K7pFyvXzGRk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b8jKme/btrHKn6zm1e/ZrIjedmYJr1K7pFyvXzGRk/img.png&quot; data-alt=&quot;jspPage 실행 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b8jKme/btrHKn6zm1e/ZrIjedmYJr1K7pFyvXzGRk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb8jKme%2FbtrHKn6zm1e%2FZrIjedmYJr1K7pFyvXzGRk%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;1047&quot; height=&quot;306&quot; data-origin-width=&quot;1047&quot; data-origin-height=&quot;306&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;jspPage 실행 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&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; 이런 식으로 사용하면 된다. 사용하는 방법은 매우 쉽다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;웹 페이지 모듈화 예시)&lt;/b&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&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;[jspPage.jsp]&lt;/p&gt;
&lt;pre id=&quot;code_1658236560692&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;%@ page language=&quot;java&quot; contentType=&quot;text/html; charset=UTF-8&quot;
	pageEncoding=&quot;UTF-8&quot;%&amp;gt;
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt;
&amp;lt;title&amp;gt;Insert title here&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
	&amp;lt;header&amp;gt;
		&amp;lt;%@ include file=&quot;jspHeader.jsp&quot; %&amp;gt;
	&amp;lt;/header&amp;gt;
	&amp;lt;article&amp;gt;
		&amp;lt;%@ include file=&quot;article.jsp&quot; %&amp;gt;
		&amp;lt;h2&amp;gt;안녕하세요!&amp;lt;/h2&amp;gt;
	&amp;lt;/article&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&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;&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;[jspHeader.jsp]&lt;/p&gt;
&lt;pre id=&quot;code_1658236596667&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;%@ page language=&quot;java&quot; contentType=&quot;text/html; charset=UTF-8&quot;
    pageEncoding=&quot;UTF-8&quot;%&amp;gt;
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt;
&amp;lt;title&amp;gt;Insert title here&amp;lt;/title&amp;gt;
&amp;lt;style&amp;gt;
	*{
		margin: 0;
		padding:0;
	}
	header{
		background-color: #354259;
		display:flex;
		justify-content: center;
		align-items: center;
		height:150px;
		width:100%;
		color:white;
	}
	ul{
		color:white;
		width:100%;
		display:flex;
		justify-content: space-evenly;
		
	}
&amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;

	&amp;lt;header&amp;gt;	
			&amp;lt;ul&amp;gt;
				&amp;lt;li&amp;gt;문서&amp;lt;/li&amp;gt;
				&amp;lt;li&amp;gt;홈&amp;lt;/li&amp;gt;
				&amp;lt;li&amp;gt;로그인&amp;lt;/li&amp;gt;
			&amp;lt;/ul&amp;gt;
	&amp;lt;/header&amp;gt;

&amp;lt;/body&amp;gt;
&amp;lt;/html&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;&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;[article.jsp]&lt;/p&gt;
&lt;pre id=&quot;code_1658236647213&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;%@ page language=&quot;java&quot; contentType=&quot;text/html; charset=UTF-8&quot;
    pageEncoding=&quot;UTF-8&quot;%&amp;gt;
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt;
&amp;lt;title&amp;gt;Insert title here&amp;lt;/title&amp;gt;
&amp;lt;style&amp;gt;
	body{
		height: 500px;
		width: 100%;
		background-color: #C2DED1;
	}
&amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;

&amp;lt;body&amp;gt;



&amp;lt;/body&amp;gt;
&amp;lt;/html&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;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1915&quot; data-origin-height=&quot;977&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/7slIg/btrHJ04QEva/b6BVJkz05ZkUyDkj8Z1iP0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/7slIg/btrHJ04QEva/b6BVJkz05ZkUyDkj8Z1iP0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/7slIg/btrHJ04QEva/b6BVJkz05ZkUyDkj8Z1iP0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F7slIg%2FbtrHJ04QEva%2Fb6BVJkz05ZkUyDkj8Z1iP0%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;1915&quot; height=&quot;977&quot; data-origin-width=&quot;1915&quot; data-origin-height=&quot;977&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp;이처럼 웹 문서를 모듈화 시켜 header는 header에서만 관리 본문은 본문에서만 관리 등 유지보수 측면과 코드의 가독성이 증가한다.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;커버사진&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;lt;a&amp;nbsp;href=&quot;&lt;a href=&quot;https://www.flaticon.com/kr/free-icons/&amp;quot;&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.flaticon.com/kr/free-icons/&quot;&lt;/a&gt;&amp;nbsp;title=&quot;자바&amp;nbsp;아이콘&quot;&amp;gt;자바&amp;nbsp;아이콘&amp;nbsp;&amp;nbsp;제작자:&amp;nbsp;Freepik&amp;nbsp;-&amp;nbsp;Flaticon&amp;lt;/a&amp;gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;a href=&quot;https://www.flaticon.com/kr/free-icon/jsp-open-file-format-with-java-logo_28968&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.flaticon.com/kr/free-icon/jsp-open-file-format-with-java-logo_28968&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>JSP</category>
      <category>JSP</category>
      <author>codeStudy123</author>
      <guid isPermaLink="true">https://javaone.tistory.com/130</guid>
      <comments>https://javaone.tistory.com/130#entry130comment</comments>
      <pubDate>Thu, 21 Jul 2022 15:46:34 +0900</pubDate>
    </item>
    <item>
      <title>[백준] 20949번: 효정과 새 모니터_Java</title>
      <link>https://javaone.tistory.com/129</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;제목: 효정과 새 모니터&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #7e98b1; font-family: 'Noto Serif KR';&quot;&gt;실버5&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1400&quot; data-origin-height=&quot;567&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vDrvT/btrHHjY8VyI/yCO4uY7rKiChkpKOqxtsNK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vDrvT/btrHHjY8VyI/yCO4uY7rKiChkpKOqxtsNK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vDrvT/btrHHjY8VyI/yCO4uY7rKiChkpKOqxtsNK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvDrvT%2FbtrHHjY8VyI%2FyCO4uY7rKiChkpKOqxtsNK%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;1400&quot; height=&quot;567&quot; data-origin-width=&quot;1400&quot; data-origin-height=&quot;567&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;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;div&gt;
&lt;div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;입력&lt;/h2&gt;
&lt;/div&gt;
&lt;div id=&quot;problem_input&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;첫 번째 줄에 모니터의 개수 N이 주어진다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이후 N개의 줄 중 i(1 &amp;le; i &amp;le; N)번째 줄에는 i번 모니터의 가로 픽셀 수 Wi와 세로 픽셀 수 Hi가 주어진다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모든 입력은 정수이며 공백으로 구분되어 주어진다.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;출력&lt;/h2&gt;
&lt;/div&gt;
&lt;div id=&quot;problem_output&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;N개의 줄에 걸쳐 모니터의 번호를 PPI가 높은 순으로 한 줄에 하나씩 출력한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;PPI가 동일한 경우 번호가 더 작은 모니터를 먼저 출력한다.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;제한&lt;/h2&gt;
&lt;/div&gt;
&lt;div id=&quot;problem_limit&quot;&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;1 &amp;le; N &amp;le; 1,000&lt;/li&gt;
&lt;li&gt;1 &amp;le; Wi, Hi&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;le; 30,000&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;예제 입력 1&lt;span&gt;&amp;nbsp;&lt;/span&gt;복사&lt;/h2&gt;
&lt;/div&gt;
&lt;pre id=&quot;sample-input-1&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot;&gt;&lt;code&gt;2
10 10
20 20&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;예제 출력 1&lt;span&gt;&amp;nbsp;&lt;/span&gt;복사&lt;/h2&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;sample-output-1&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot;&gt;&lt;code&gt;2
1&lt;/code&gt;&lt;/pre&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 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;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; 문제는 어렵지 않다. 입력받은 모니터 가로와 세로 값들을 PPI 공식에 대입해 계산결과로 값을 받게 된다. PPI 공식으로부터 가장 큰 모니터의 번호부터 출력하면 된다. 번호는 모니터의 생성 순서와 같다. (1번으로 입력한 모니터는 1번, 2번으로 입력한 모니터는 2번 . . . )&amp;nbsp; 시간복잡도가 O(n^2) 까지는 풀 수 있을 것 같아 쉬운 문제이다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;  내가 작성한 코드&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1658237764341&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.io.*;
import java.util.StringTokenizer;
import java.util.ArrayList;
import java.util.Collections;

public class Main {

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		final int N = Integer.parseInt(br.readLine());

		ArrayList&amp;lt;Float&amp;gt; list = new ArrayList&amp;lt;&amp;gt;();

		for (int i = 0; i &amp;lt; N; i++) {
			StringTokenizer st = new StringTokenizer(br.readLine());
			int width = Integer.parseInt(st.nextToken());
			int height = Integer.parseInt(st.nextToken());
			float ppi =(float)Math.sqrt(width * width + height * height) / 24;
			list.add(ppi);
		}

		ArrayList&amp;lt;Float&amp;gt; copyList = new ArrayList&amp;lt;&amp;gt;(list);
		Collections.sort(list);
		StringBuilder sb = new StringBuilder();

		for (int i = list.size() - 1; i &amp;gt;= 0; i--) {
			float key = list.get(i);
			int index = copyList.indexOf(key);
			copyList.set(index, null);
			sb.append(index + 1 + &quot;\n&quot;);
		}
		System.out.println(sb);
	}
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;알고리즘 분류&lt;/p&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/tag/97&quot;&gt;정렬&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/20949&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.acmicpc.net/problem/20949&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1658237859516&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;20949번: 효정과 새 모니터&quot; data-og-description=&quot;효정은 새해를 맞이하여 새 모니터를 구매하고자 한다. 효정은 돈이 많기 때문에 77인치 모니터를 구매할 것이다. 모니터를 구경하던 효정은 놀라 자빠질 수밖에 없었다. 모니터가 너무 많아 고&quot; data-og-host=&quot;www.acmicpc.net&quot; data-og-source-url=&quot;https://www.acmicpc.net/problem/20949&quot; data-og-url=&quot;https://www.acmicpc.net/problem/20949&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bCKSna/hyO80W2JIs/6MYs0T9sJgz2N2bzExIkf1/img.png?width=2834&amp;amp;height=1480&amp;amp;face=0_0_2834_1480&quot;&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/20949&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.acmicpc.net/problem/20949&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bCKSna/hyO80W2JIs/6MYs0T9sJgz2N2bzExIkf1/img.png?width=2834&amp;amp;height=1480&amp;amp;face=0_0_2834_1480');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;20949번: 효정과 새 모니터&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;효정은 새해를 맞이하여 새 모니터를 구매하고자 한다. 효정은 돈이 많기 때문에 77인치 모니터를 구매할 것이다. 모니터를 구경하던 효정은 놀라 자빠질 수밖에 없었다. 모니터가 너무 많아 고&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.acmicpc.net&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>PS/백준</category>
      <category>java</category>
      <category>백준</category>
      <category>백준 알고리즘</category>
      <author>codeStudy123</author>
      <guid isPermaLink="true">https://javaone.tistory.com/129</guid>
      <comments>https://javaone.tistory.com/129#entry129comment</comments>
      <pubDate>Tue, 19 Jul 2022 22:38:25 +0900</pubDate>
    </item>
    <item>
      <title>[Java] Iterator</title>
      <link>https://javaone.tistory.com/128</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;b&gt; Iterator&lt;/b&gt;는 &lt;u&gt;컬렉션에 저장된 요소를 접근하는 데 사용되는 인터페이스이다.&lt;/u&gt; Iterator의 구버전은 Enumeration이고 Iterator의 기능을 확장시킨 것은 ListIterator이다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; Iterator는 Collection interface의 요소를 접근하기 위한 인터페이스라는 건 우리가 알고 있는 사실이다.&amp;nbsp; 따라서 Iterator를 구현하는 iterator() 메서드는 Collection의 자식인 List와 Set에서도 사용할 수 있다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; Iterator의 메서드는 4가지가 있다.&lt;/p&gt;
&lt;pre id=&quot;code_1657686172866&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;public interface Iterator&amp;lt;E&amp;gt; {
	
    boolean hasNext();
    
    E next();
    
    default void remove(){
    	throw new UnsupportedOperationException(&quot;remove&quot;);
    }
    
    default void forEachRemaining(Consumer&amp;lt;? super E&amp;gt; action) {
        Objects.requireNonNull(action);
        while (hasNext())
            action.accept(next());
    }

}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; 여기서는 hasNext()와 next()를 다루어 보겠다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; Iterator를 사용하는 방법은 일단, Iterator 객체를 가지고 와야한다.&amp;nbsp; Collection 인터페이스에 있는 iterator() 메서드를 이용해 Iterator 인터페이스를 구현할 수 있다. Collection의 자식인 List와 Set에도 iterator() 메서드는 존재한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1657686783314&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;Iterator&amp;lt;E&amp;gt; iterator();&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1657686898259&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;Collection&amp;lt;Integer&amp;gt; list = new ArrayList&amp;lt;Integer&amp;gt;();
		
Iterator i = list.iterator();  //Iterator 인터페이스가 구현 됨.&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; Iterator는 Collection 인터페이스에 정의된 메서드이므로 ArrayList 대신 List인터페이스를 구현한 다른 컬렉션 클래스에 대해서도 위 코드는 동일하게 작동되고 수정할 필요가 없어진다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; 이처럼 코드의 재사용성을 높이는 것이 Iterator의 장점이며 코드의 일관성을 유지, 재사용성 극대화로 객체지향 프로그래밍의 대표적인 예시와 장점이라고 볼 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1657687359056&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.util.*;

public class IteratorEx {

	public static void main(String[] args) {
		
		Collection&amp;lt;Integer&amp;gt; list = new ArrayList&amp;lt;Integer&amp;gt;();
		list.add(3);
		list.add(2);
		list.add(1);
		
		
		Iterator&amp;lt;Integer&amp;gt; i = list.iterator();  //Iterator 인터페이스가 구현 됨.
	
		while(i.hasNext()) {   //hasNext()로 모든 요소를 순회한다.					
			System.out.print(i.next()+&quot;  &quot;);  //next() 메서드로 값을 가지고 온다.
		}
	}

}&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;82&quot; data-origin-height=&quot;27&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/V6kDS/btrG9l3T3UF/YsXaUN09iuHfkJHDmZ9kb1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/V6kDS/btrG9l3T3UF/YsXaUN09iuHfkJHDmZ9kb1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/V6kDS/btrG9l3T3UF/YsXaUN09iuHfkJHDmZ9kb1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FV6kDS%2FbtrG9l3T3UF%2FYsXaUN09iuHfkJHDmZ9kb1%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;82&quot; height=&quot;27&quot; data-origin-width=&quot;82&quot; data-origin-height=&quot;27&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;table style=&quot;border-collapse: collapse; width: 100%; height: 100px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style12&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 50%; text-align: center; height: 20px;&quot;&gt;메서드&lt;/td&gt;
&lt;td style=&quot;width: 50%; text-align: center; height: 20px;&quot;&gt;기능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 60px;&quot;&gt;
&lt;td style=&quot;width: 50%; text-align: center; height: 60px;&quot;&gt;boolean hasNext()&lt;/td&gt;
&lt;td style=&quot;width: 50%; text-align: center; height: 60px;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #575757;&quot;&gt;해당 이터레이션(iteration)이 다음 요소를 가지고 있으면 true를 반환하고, 더 이상 다음 요소를 가지고 있지 않으면 false를 반환함.&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 20px; text-align: center;&quot;&gt;E next()&lt;/td&gt;
&lt;td style=&quot;width: 50%; text-align: center; height: 20px;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #575757;&quot;&gt;이터레이션(iteration)의 다음 요소를 반환함.&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;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; 요소가 몇개가 있는지 확실하지 않을 수 있으므로 반복문(while)을 이용해 hasNext() 메서드를 사용하여 모든 요소를 순회하게 한다. hasNext()메서드 return값이 true이면 next() 메서드로 요소를 가지고 온다.&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; Iterator 인터페이스는 일회성이다. hasNext()로 모든 요소를 순회하고 false를 반환하면 다시 재사용할 수 없다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1657688187636&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;Iterator&amp;lt;Integer&amp;gt; it = list.iterator();

while(it.hasNext()) {
	System.out.print(it.next()+&quot; &quot;);
}
        
while(it.hasNext()) {
	System.out.print(it.next()+&quot; &quot;);
}&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;82&quot; data-origin-height=&quot;27&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zVfXc/btrHdKt77p0/l8cYLZ2TyKviP0CThxRXr1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zVfXc/btrHdKt77p0/l8cYLZ2TyKviP0CThxRXr1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zVfXc/btrHdKt77p0/l8cYLZ2TyKviP0CThxRXr1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzVfXc%2FbtrHdKt77p0%2Fl8cYLZ2TyKviP0CThxRXr1%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;82&quot; height=&quot;27&quot; data-origin-width=&quot;82&quot; data-origin-height=&quot;27&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;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; 이런식으로 사용된 Iterator 인터페이스를 또다시 사용하면 false를 반환하므로 2번째 반복문은 작동하지 않는다. 참조 변수 it가 가리키는 객체는 첫 번째 while 문으로부터 hasNext()는 false로 되었기 때문이다. 하나의 객체에서 while문 2개를 사용하는 것이 아닌 새로운 객체를 또 만들어서 각자 다른 반복문을 사용해야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1657694452017&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;Iterator&amp;lt;Integer&amp;gt; it = list.iterator();
while(it.hasNext()) {
	System.out.print(it.next()+&quot; &quot;);
}
    
System.out.println();
    
Iterator&amp;lt;Integer&amp;gt; it2 = list.iterator();
while(it2.hasNext()) {
	System.out.print(it2.next()+&quot; &quot;);
}&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;187&quot; data-origin-height=&quot;62&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/m7LM2/btrHdcryFFh/CD1FYFwtYM7wdqxrkl5qXK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/m7LM2/btrHdcryFFh/CD1FYFwtYM7wdqxrkl5qXK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/m7LM2/btrHdcryFFh/CD1FYFwtYM7wdqxrkl5qXK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fm7LM2%2FbtrHdcryFFh%2FCD1FYFwtYM7wdqxrkl5qXK%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;187&quot; height=&quot;62&quot; data-origin-width=&quot;187&quot; data-origin-height=&quot;62&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;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1657694664819&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;List&amp;lt;Integer&amp;gt; list = new ArrayList&amp;lt;Integer&amp;gt;();
list.add(3);
list.add(2);
list.add(1);
		
for(int i=0; i&amp;lt;list.size();i++) {
	System.out.print(list.get(i)+&quot; &quot;);
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; Iterator를 사용하지 않고 list의 요소들을 전부 접근할 수 있다.&amp;nbsp; 하지만 개발자가 성능의 문제로 ArrayList가 아닌 HashSet으로 자료구조를 바꿨다고 가정해보자.&lt;/p&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;pre id=&quot;code_1657694995275&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;Set&amp;lt;Integer&amp;gt; list = new HashSet&amp;lt;Integer&amp;gt;();
list.add(3);
list.add(2);
list.add(1);
		
for(int i=0; i&amp;lt;list.size();i++) {
	System.out.print(list.get(i)+&quot; &quot;);
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; Set인터페이스에도 존재하는 add메서드로 추가는 가능하지만 반복문 부분에서 에러가 발생한다. get()메서드는 Set에 존재하지 않는다. 즉, 반복문 부분은 쓸모없어진 코드가 된 것이다.&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; Collection을 바꾸면 바꿀 Collection에는 존재하지 않는 메서드들이 있을 것이다. 존재하지 않는 메서드를 사용하면 당연히 에러가 발생하며, 일일히 코드들을 다시 봐야 하는 상황이 발생한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; 이 문제를 해결하기 위해 Iterator를 사용하는 것이다. Iterator는 Collection 자식들 모두 호환이 가능한 인터페이스이므로 Collection을 바꾸더라도 요소를 접근하는 코드는 바뀔 필요가 없어진다.&lt;/p&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;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&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; Map인터페이스를 구현한 컬렉션 클래스는 iterator()를 직접 호출할 수 없다. interator()를 사용할 수 있는 Set인터페이스 형태로 얻어 온 후 iterator()를 사용할 수 있다.&amp;nbsp; (keySet(), entrySet() 사용해서 Set 형태로 변환)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1657695862089&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;Map map = new HashMap();
		
Iterator it = map.entrySet().iterator();&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; Iterator의 구버전 Enumeration의 사용법은 Iterator와 차이점이 별루 없다.&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; hasMoreElements()로 요소 순회&amp;nbsp; (검색)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; nextElement()로 요소 값 가지고 오기&lt;/p&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;pre id=&quot;code_1657695950412&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;List&amp;lt;Integer&amp;gt; list = new LinkedList&amp;lt;Integer&amp;gt;();
list.add(3);
list.add(2);
list.add(1);
		
Enumeration&amp;lt;Integer&amp;gt; en = Collections.enumeration(list);
while(en.hasMoreElements()) {
	System.out.print(en.nextElement()+&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style7&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;http://www.tcpschool.com/java/java_collectionFramework_iterator&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;http://www.tcpschool.com/java/java_collectionFramework_iterator&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1657696188476&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;코딩교육 티씨피스쿨&quot; data-og-description=&quot;4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등&quot; data-og-host=&quot;tcpschool.com&quot; data-og-source-url=&quot;http://www.tcpschool.com/java/java_collectionFramework_iterator&quot; data-og-url=&quot;http://tcpschool.com&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/vvXPq/hyO4Dt1SFA/DQ0p1MbUoopSpR6rtOKt61/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800&quot;&gt;&lt;a href=&quot;http://www.tcpschool.com/java/java_collectionFramework_iterator&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;http://www.tcpschool.com/java/java_collectionFramework_iterator&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/vvXPq/hyO4Dt1SFA/DQ0p1MbUoopSpR6rtOKt61/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;코딩교육 티씨피스쿨&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;tcpschool.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>Java</category>
      <author>codeStudy123</author>
      <guid isPermaLink="true">https://javaone.tistory.com/128</guid>
      <comments>https://javaone.tistory.com/128#entry128comment</comments>
      <pubDate>Wed, 13 Jul 2022 16:12:29 +0900</pubDate>
    </item>
    <item>
      <title>[HTML] 기본2</title>
      <link>https://javaone.tistory.com/127</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&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;size18&quot;&gt;&lt;b&gt;  &lt;span style=&quot;color: #ee2323;&quot;&gt;&amp;lt;img&amp;gt;태그, 이미지 삽입&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;lt;img&amp;gt; 태그를 이용해 HTML&amp;nbsp; 문서에 이미지를 삽입할 수 있다. &amp;lt;img&amp;gt; src 속성으로 지정할 수 있는 이미지의 종류는 다음과 같다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;BMP, GIF, JPG(JPEG), animated-GIF&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;lt;img&amp;gt; 태그&lt;/p&gt;
&lt;pre id=&quot;code_1657008772694&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;img		src=&quot;이미지 파일의 URL.파일형식&quot;
		alt=&quot;문자열(이미지가 출력되지 않을 때 출력되는 문자열&quot;
		width=&quot;이미지의 폭&quot;
		height=&quot;이미지의 높이&quot;&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;src: 이미지의 URL. (필수 속성)&lt;/li&gt;
&lt;li&gt;alt: 이미지가 없거나 손상되는 등 이미지 출력되지 않는 상황에서 출력되는 문자열. (필수 속성)&lt;/li&gt;
&lt;li&gt;width: 이미지가 출력되는 너비로, 생략되면 원본 이미지 폭.&lt;/li&gt;
&lt;li&gt;height: 이미지가 출력되는 높이로, 생략되면 원본 이미지 높이.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt; &amp;lt;img&amp;gt; 활용 예시&lt;/p&gt;
&lt;pre id=&quot;code_1657009211485&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt;
    &amp;lt;title&amp;gt;Document&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;h2&amp;gt;이미지 삽입&amp;lt;/h2&amp;gt;
    &amp;lt;hr&amp;gt;
    &amp;lt;b&amp;gt;자바 이미지 입니다.&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;
    &amp;lt;img src=&quot;javaimg.png&quot; alt=&quot;자바 이미지가 없습니다.&quot; width=&quot;200&quot; height=&quot;200&quot;&amp;gt;&amp;lt;br&amp;gt;
    &amp;lt;b&amp;gt;파이썬 이미지 입니다.&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;
    &amp;lt;img src=&quot;pythonimg.png&quot; alt=&quot;파이썬 이미지가 없습니다.&quot; width=&quot;200&quot; height=&quot;200&quot;&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1007&quot; data-origin-height=&quot;491&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/brD34f/btrGzOEnQOX/rldHzPao1Wi7qffTk6XTg0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/brD34f/btrGzOEnQOX/rldHzPao1Wi7qffTk6XTg0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/brD34f/btrGzOEnQOX/rldHzPao1Wi7qffTk6XTg0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbrD34f%2FbtrGzOEnQOX%2FrldHzPao1Wi7qffTk6XTg0%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;1007&quot; height=&quot;491&quot; data-origin-width=&quot;1007&quot; data-origin-height=&quot;491&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;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt; &amp;lt;ol&amp;gt;, &amp;lt;ul&amp;gt;, &amp;lt;dl&amp;gt; 리스트 만들기&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;순서가 있는 리스트(ordered list) &amp;lt;ol&amp;gt;&amp;lt;/ol&amp;gt;&lt;/li&gt;
&lt;li&gt;순서가 없는 리스트(unordered list) &amp;lt;ul&amp;gt;&amp;lt;/ul&amp;gt;&lt;/li&gt;
&lt;li&gt;정의 리스트(definition list) &amp;lt;dl&amp;gt;&amp;lt;/dl&amp;gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;lt;ol&amp;gt;&amp;lt;/ol&amp;gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;lt;ol&amp;gt; 태그의 type 속성 기본값은 &quot;1&quot;이다. 미지정시 &quot;1&quot;로 실행&lt;/p&gt;
&lt;pre id=&quot;code_1657009706780&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;ol type=&quot;1&quot;or&quot;A&quot;or&quot;a&quot;or&quot;I&quot;or&quot;i&quot; 
    start=&quot;value&quot;
&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;!--종료태그 생략 가능 &amp;lt;/li&amp;gt;--&amp;gt;
&amp;lt;/ol&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;lt;ul&amp;gt;&amp;lt;/ul&amp;gt;&lt;/p&gt;
&lt;pre id=&quot;code_1657009751292&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&amp;gt;
    &amp;lt;li&amp;gt;item&amp;lt;/li&amp;gt;
    &amp;lt;li&amp;gt;item&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;lt;li&amp;gt;&amp;lt;/li&amp;gt;&lt;/p&gt;
&lt;pre id=&quot;code_1657009869046&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;li type=&quot;&quot;1&quot;or&quot;A&quot;or&quot;a&quot;or&quot;I&quot;or&quot;i&quot;&amp;gt;item&amp;lt;/li&amp;gt;
&amp;lt;!--li태그의 type 속성은 &amp;lt;ol&amp;gt;태그에 대해서만 유효--&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;lt;li&amp;gt;태그는 종료 태그 생략 가능.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt; 리스트 태그 활용&lt;/p&gt;
&lt;pre id=&quot;code_1657010299325&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&amp;gt;
    &amp;lt;h2&amp;gt;프로그래밍 언어의 역사&amp;lt;/h2&amp;gt;
    &amp;lt;hr&amp;gt;
    &amp;lt;ol type=&quot;1&quot;&amp;gt;
        &amp;lt;li&amp;gt;제 1세대(기계어)&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;제 2세대(어셈블리어)&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;제 3세대(C언어)
        &amp;lt;li&amp;gt;제 4세대(DB관련 언어)
        &amp;lt;li&amp;gt;제 5세대(Java)&amp;lt;/li&amp;gt;
    &amp;lt;/ol&amp;gt;
&amp;lt;/ul&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;521&quot; data-origin-height=&quot;277&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dAiXLz/btrGASM6e4N/uQYxNPvUtqsNMkg7NlSBlK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dAiXLz/btrGASM6e4N/uQYxNPvUtqsNMkg7NlSBlK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dAiXLz/btrGASM6e4N/uQYxNPvUtqsNMkg7NlSBlK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdAiXLz%2FbtrGASM6e4N%2FuQYxNPvUtqsNMkg7NlSBlK%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;521&quot; height=&quot;277&quot; data-origin-width=&quot;521&quot; data-origin-height=&quot;277&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1657010563820&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;h3&amp;gt;중첩 리스트 예제&amp;lt;/h3&amp;gt;
&amp;lt;hr&amp;gt;
&amp;lt;ul&amp;gt;
    &amp;lt;li&amp;gt;다양한 라면들
    &amp;lt;ul&amp;gt;
        &amp;lt;li&amp;gt;신라면&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;진라면&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;너구리&amp;lt;/li&amp;gt;
    &amp;lt;/ul&amp;gt;

    &amp;lt;li&amp;gt;라면 끓이는 방법은 동일해요!
    &amp;lt;ol type=&quot;A&quot;&amp;gt;
        &amp;lt;li&amp;gt;물 끓이기&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;라면과 스프 넣기&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;4~5분 끓이기&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;맛있게 먹을 준비하기&amp;lt;/li&amp;gt;
    &amp;lt;/ol&amp;gt;
    &amp;lt;li type=&quot;I&quot;&amp;gt;리스트의 예제&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;453&quot; data-origin-height=&quot;460&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zIBuj/btrGzZ6PORp/dr7Yk21vuMAtV2kW0Lp1T0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zIBuj/btrGzZ6PORp/dr7Yk21vuMAtV2kW0Lp1T0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zIBuj/btrGzZ6PORp/dr7Yk21vuMAtV2kW0Lp1T0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzIBuj%2FbtrGzZ6PORp%2Fdr7Yk21vuMAtV2kW0Lp1T0%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;453&quot; height=&quot;460&quot; data-origin-width=&quot;453&quot; data-origin-height=&quot;460&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;p data-ke-size=&quot;size18&quot;&gt;정의 리스트 예제&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;lt;dl&amp;gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;lt;dt&amp;gt;용어&amp;lt;/dt&amp;gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;lt;dd&amp;gt;설명&amp;lt;/dd&amp;gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;lt;/dl&amp;gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;lt;dt&amp;gt;, &amp;lt;dd&amp;gt;는 종료 태그 생략 가능.&lt;/p&gt;
&lt;pre id=&quot;code_1657010948477&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;dl&amp;gt;
    &amp;lt;h3&amp;gt;정의 리스트 예제&amp;lt;/h3&amp;gt;
    &amp;lt;hr&amp;gt;
    &amp;lt;dt&amp;gt;&amp;lt;strong&amp;gt;Internet&amp;lt;/strong&amp;gt;&amp;lt;/dt&amp;gt;
    &amp;lt;dd&amp;gt;
        1990년대 초 인터넷이라는 이름으로 활용되기 시작, 전 세계 수 억 개의 컴퓨터가 연결된
        네트워크가 되었다. 즉, 컴퓨터들을 연결하는 길
    &amp;lt;/dd&amp;gt;
    &amp;lt;dt&amp;gt;&amp;lt;strong&amp;gt;Web&amp;lt;/strong&amp;gt;&amp;lt;/dt&amp;gt;
    &amp;lt;dd&amp;gt;
        팀 버너스리 경이 만든 인터넷 서비스 중 하나 문서를 서버 컴퓨터에 올려놓고 인터넷을 통해
        클라이언트 컴퓨터에서 읽거나 쉽게 주고바을 수 있도록 만든 서비스이다. 
        즉, 웹은 인터넷을 이용해 만들어진 인터넷 서비스이다.
    &amp;lt;/dd&amp;gt;
&amp;lt;/dl&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;953&quot; data-origin-height=&quot;410&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/usD6U/btrGzPDlUge/Q8DX9ZVNN9mTJqNMGB5Ufk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/usD6U/btrGzPDlUge/Q8DX9ZVNN9mTJqNMGB5Ufk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/usD6U/btrGzPDlUge/Q8DX9ZVNN9mTJqNMGB5Ufk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FusD6U%2FbtrGzPDlUge%2FQ8DX9ZVNN9mTJqNMGB5Ufk%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;953&quot; height=&quot;410&quot; data-origin-width=&quot;953&quot; data-origin-height=&quot;410&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;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;  &amp;lt;table&amp;gt;표 만들기&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; HTML5에서 테이블 태그들을 이용해 표를 작성할 수 있다. 워드나 아래한글 문서 작업에서의 표와 동일하다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; 표 전체는 &amp;lt;table&amp;gt; 각 종 내용들 &amp;lt;/table&amp;gt;로 감싸며, 표제목, 헤드, 바디, 바닥을 모두 &amp;lt;table&amp;gt; 태그 안에 포함시킨다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;전반적인 &amp;lt;table&amp;gt; 태그의 사용방법은 이러하다.&lt;/p&gt;
&lt;pre id=&quot;code_1657025813172&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;table&amp;gt;
    &amp;lt;caption&amp;gt;표제목&amp;lt;/caption&amp;gt;
    &amp;lt;thead&amp;gt;
        &amp;lt;!--&amp;lt;tr&amp;gt;태그는 행, &amp;lt;td&amp;gt;태그는 열--&amp;gt;
        &amp;lt;tr&amp;gt;
            &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
        &amp;lt;/tr&amp;gt;
    &amp;lt;/thead&amp;gt;
    &amp;lt;tbody&amp;gt;&amp;lt;/tbody&amp;gt;
    &amp;lt;tfoot&amp;gt;&amp;lt;/tfoot&amp;gt;
&amp;lt;/table&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;lt;caption&amp;gt; 태그로 표의 제목을 나타낼 수 있다. &amp;lt;thead&amp;gt;, &amp;lt;tbody&amp;gt;, &amp;lt;tfoot&amp;gt; 태그들은 검색 엔진의 표의 의미(시맨틱)를 파악하기 위한 태그이다. 태그 이름대로 head 표의 맨 위, foot은 표의 맨 마지막을 맡는다.&lt;/p&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; &amp;lt;tr&amp;gt; 태그로 행 단위를 표현한다. &amp;lt;tr&amp;gt; 1 행 안에 n개의 열은 &amp;lt;td&amp;gt; 태그로 열을 표현한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;lt;th&amp;gt; 태그는 헤딩(정보)을 가진 셀이다.&lt;/p&gt;
&lt;pre id=&quot;code_1657026132006&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;table&amp;gt;
    &amp;lt;caption&amp;gt;표제목&amp;lt;/caption&amp;gt;
    &amp;lt;thead&amp;gt;
        &amp;lt;th&amp;gt;이름&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;학번&amp;lt;/th&amp;gt;        
    &amp;lt;/thead&amp;gt;
    &amp;lt;tbody&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;기태&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2021****&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/tbody&amp;gt;
&amp;lt;/table&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; 이대로 출력하면 아래 사진처럼 출력된다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;140&quot; data-origin-height=&quot;98&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ctg7nN/btrGBhe97i1/AiovCTPTzBkO8vkA5lpFmK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ctg7nN/btrGBhe97i1/AiovCTPTzBkO8vkA5lpFmK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ctg7nN/btrGBhe97i1/AiovCTPTzBkO8vkA5lpFmK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fctg7nN%2FbtrGBhe97i1%2FAiovCTPTzBkO8vkA5lpFmK%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;140&quot; height=&quot;98&quot; data-origin-width=&quot;140&quot; data-origin-height=&quot;98&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; 이렇게 보면 사용자가 표를 보고 분석하는 것이 어렵다. 표답게 구분선을 그어주기 위해서는&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1657026232590&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;table border=&quot;1&quot;&amp;gt;
&amp;lt;/table&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;lt;table&amp;gt; 태그에 border 속성을 사용하면 된다. 속성 값은 &quot;1&quot;로 1px의 선의 굵기를 의미한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;157&quot; data-origin-height=&quot;111&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b92SGZ/btrGBh0Eigy/THWrRHQlKvesIrGhRM2RB1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b92SGZ/btrGBh0Eigy/THWrRHQlKvesIrGhRM2RB1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b92SGZ/btrGBh0Eigy/THWrRHQlKvesIrGhRM2RB1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb92SGZ%2FbtrGBh0Eigy%2FTHWrRHQlKvesIrGhRM2RB1%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;157&quot; height=&quot;111&quot; data-origin-width=&quot;157&quot; data-origin-height=&quot;111&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;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt; 테이블 태그 예제&lt;/p&gt;
&lt;pre id=&quot;code_1657026696046&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;table border=&quot;1&quot;&amp;gt;
    &amp;lt;caption&amp;gt;1학기 성적&amp;lt;/caption&amp;gt;
    &amp;lt;thead&amp;gt;
        &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;이름&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;시험점수&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;학점&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;
    &amp;lt;/thead&amp;gt;
    &amp;lt;tbody&amp;gt;
        &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;원혁&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4.5(A+)&amp;lt;/td&amp;gt;
        &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;재빈&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;80&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;3.5(B+)&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
        &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;쓴이&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;50&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2.5(C+)&amp;lt;/td&amp;gt;
    &amp;lt;/tbody&amp;gt;
    &amp;lt;tfoot&amp;gt;
        &amp;lt;tr&amp;gt;
            &amp;lt;td&amp;gt;xx교수&amp;lt;/td&amp;gt;
            &amp;lt;td colspan=&quot;2&quot;&amp;gt;확인&amp;lt;/td&amp;gt;
        &amp;lt;/tr&amp;gt;
    &amp;lt;/tfoot&amp;gt;
&amp;lt;/table&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;272&quot; data-origin-height=&quot;216&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bekBwo/btrGAprkf9C/Akzw2lq0qG5EFZpCvnbMl0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bekBwo/btrGAprkf9C/Akzw2lq0qG5EFZpCvnbMl0/img.png&quot; data-alt=&quot;출력결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bekBwo/btrGAprkf9C/Akzw2lq0qG5EFZpCvnbMl0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbekBwo%2FbtrGAprkf9C%2FAkzw2lq0qG5EFZpCvnbMl0%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;272&quot; height=&quot;216&quot; data-origin-width=&quot;272&quot; data-origin-height=&quot;216&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;출력결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;lt;td&amp;gt; 태그 속성 중 colspan, rowspan이 있다.&lt;/p&gt;
&lt;pre id=&quot;code_1657027064332&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;table border=&quot;1&quot;&amp;gt;
    &amp;lt;caption&amp;gt;셀 병합&amp;lt;/caption&amp;gt;
    &amp;lt;tr&amp;gt;
        &amp;lt;td rowspan=&quot;2&quot;&amp;gt;1행과2행 합침&amp;lt;/td&amp;gt;&amp;lt;td colspan=&quot;2&quot;&amp;gt;2열괴 3열 합침&amp;lt;/td&amp;gt;
    &amp;lt;/tr&amp;gt;
    &amp;lt;tr&amp;gt;
        &amp;lt;td&amp;gt;rowspan&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;colspan&amp;lt;/td&amp;gt;
    &amp;lt;/tr&amp;gt;
&amp;lt;table&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;321&quot; data-origin-height=&quot;113&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c3exSD/btrGAJC2QvF/EiQKCQV9mB19XwskxKoGrK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c3exSD/btrGAJC2QvF/EiQKCQV9mB19XwskxKoGrK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c3exSD/btrGAJC2QvF/EiQKCQV9mB19XwskxKoGrK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc3exSD%2FbtrGAJC2QvF%2FEiQKCQV9mB19XwskxKoGrK%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;321&quot; height=&quot;113&quot; data-origin-width=&quot;321&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;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;  &amp;lt;a&amp;gt; 하이퍼링크&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; 대부분의 웹 사이트는 여러 개의 HTML 페이지를 가지고 페이지들이 상호 연결하는 방식으로 전체를 구성하는데 서로 다른 HTML 페이지들끼리 연결하기 위해 하이퍼링크(hyperlink)를 텍스트나 이미지에 주소를 달아서 연결하는데 하이퍼링크는 서로 다른 HTML 페이지뿐만 아니라 다른 웹 페이지로 이동하는 것이 가능하다. 이것을 항해 혹은 내비게이션(navigation)이라고 부른다. 하이퍼링크는 링크라고 줄여서 부른다.&lt;/p&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; 하이퍼링크(링크)는 &amp;lt;a&amp;gt; 태그의 href 속성으로 만들 수 있다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1657027442812&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;a  href=&quot;URL | URL#앵커이름 | #앵커이름&quot;
    trarget=&quot;윈도우이름&quot;
    download=&quot;&quot;&amp;gt;
링크를 달 텍스트 혹은 이미지
&amp;lt;/a&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;href: 이동할 HTML 페이지, URL 혹은 HTML&amp;nbsp; 페이지 내 앵커 이름&lt;/li&gt;
&lt;li&gt;target: 링크에 연결된 HTML 페이지가 출력될 윈도우 이름 지정&lt;/li&gt;
&lt;li&gt;download: 링크가 클릭되면 href에 지정된 파일이 다운로드됨&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; href 속성은 하이퍼링크로 이동할 HTML 페이지의 URL을 속성 값으로 입력해주면 된다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1657027624628&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;a href=&quot;index.html&quot;&amp;gt;index.html로 이동하는 하이퍼링크&amp;lt;/a&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;323&quot; data-origin-height=&quot;32&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xyDzG/btrGy7dPu4o/aBBdFPSOXmmB5TEL942bqk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xyDzG/btrGy7dPu4o/aBBdFPSOXmmB5TEL942bqk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xyDzG/btrGy7dPu4o/aBBdFPSOXmmB5TEL942bqk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxyDzG%2FbtrGy7dPu4o%2FaBBdFPSOXmmB5TEL942bqk%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;323&quot; height=&quot;32&quot; data-origin-width=&quot;323&quot; data-origin-height=&quot;32&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; 누르면 index.html 파일이 열린다. target이 지정되지 않아 기본값인 _self로 현재 윈도우창 즉, 현재 웹 브라우저 창에 기존 html대신 하이퍼링크에 눌린 index.html을 출력한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1657027820715&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;a href=&quot;#&quot;&amp;gt;현재 페이지&amp;lt;/a&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; href 속성 값으로 &quot;#&quot;을 넣으면 현재 페이지가 출력된다. 정확히 말하면 현재 페이지에서 URL 끝에 #을 단 HTML 페이지가 출력된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1657027938565&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;a href=&quot;https://www.naver.com/&quot;&amp;gt;
    &amp;lt;img src=&quot;javaimg.png&quot; alt=&quot;네이버로 가는 이미지&quot;&amp;gt;
&amp;lt;/a&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; 이 코드는 naver 웹 사이트로 가능 하이퍼링크이다. &amp;lt;a&amp;gt;&amp;lt;/a&amp;gt;사이에 img태그를 넣었다. 이미지를 누를 시 &lt;a href=&quot;https://www.naver.com/&quot;&gt;https://www.naver.com/&lt;/a&gt;&quot;으로 로 이동한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; id 속성을 이용해 앵커를 만들수 있다. 문서의 특정 위치를 앵커(anchor)라고 부른다. 앵커를 만드는 방법은 간단하다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;HTML5에서 제공하는 태그의 id 속성에 앵커 이름을 지정하면, 어떤 태그든 그 위치에 앵커가 만들어진다.&lt;/p&gt;
&lt;pre id=&quot;code_1657028777563&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;!--앵커의 위치로 갈 하이퍼링크--&amp;gt;
&amp;lt;a href=&quot;#anchor1&quot;&amp;gt;&amp;amp;lt;p&amp;amp;gt;로 가는 a 태그&amp;lt;/a&amp;gt;&amp;lt;br&amp;gt;
&amp;lt;a href=&quot;#anchor2&quot;&amp;gt;&amp;amp;lt;hr&amp;amp;gt;로 가는 a 태그&amp;lt;/a&amp;gt;&amp;lt;br&amp;gt;

&amp;lt;!--앵커 2개--&amp;gt;
&amp;lt;p id=&quot;anchor1&quot;&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;hr id=&quot;anchor2&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;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1657028593324&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;a href=&quot;#anchor1&quot;&amp;gt;&amp;amp;lt;p&amp;amp;gt;로 가는 a 태그&amp;lt;/a&amp;gt;&amp;lt;br&amp;gt;
&amp;lt;a href=&quot;#anchor2&quot;&amp;gt;&amp;amp;lt;hr&amp;amp;gt;로 가는 a 태그&amp;lt;/a&amp;gt;&amp;lt;br&amp;gt;

&amp;lt;p id=&quot;anchor1&quot;&amp;gt;
    하는 대고, 커다란 바이며, 쓸쓸하랴? 위하여, 어디 돋고, 못할 속잎나고, 품고 자신과 예수는 풀이 철환하였는가? 얼마나 새 발휘하기 위하여 광야에서&amp;lt;br&amp;gt;
    소금이라 구하지 아름다우냐? 청춘의 군영과 수 이상은 품으며, 청춘이 모래뿐일 불러 설산에서 것이다. 장식하는 이상의 얼마나 것이다. 그들의 &amp;lt;br&amp;gt;
    얼음과 더운지라 얼마나 가진 관현악이며, 속에 전인 뛰노는 아름다우냐? 전인 남는 우리 보이는 두손을 그들에게 교향악이다. 별과 얼마나 천자만홍이 이상은 것이다.&amp;lt;br&amp;gt;
    심장은 크고 산야에 간에 과실이 전인 쓸쓸하랴? 열매를 자신과 주는 이것이다.&amp;lt;br&amp;gt;

꽃 못하다 없는 청춘의 구하지 청춘 끓는다. 가는 심장의 열매를 이것이다. 풍부하게 같으며, 만물은 커다란 그들의 풀이 끓는 쓸쓸하랴? 일월과 우리는&amp;lt;br&amp;gt;
 못할 그리하였는가? 광야에서 이것이야말로 있는 얼음이 커다란 그리하였는가? 지혜는 실현에 이상 거친 인류의 부패뿐이다. 고행을 찾아다녀&amp;lt;br&amp;gt;
 도, 기쁘며, 온갖 이성은 과실이 밥을 가진 피다. 그들은 사는가 뛰노는 끓는 착목한는 만천하의 이상의 따뜻한 구하지 봄바람이다. 눈이 우리 무엇을 것이다.&amp;lt;br&amp;gt;
&amp;lt;/p&amp;gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;
&amp;lt;hr id=&quot;anchor2&quot;&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;첫 번째 a태그를 누르면 &amp;lt;p&amp;gt;태그의 앵커 위치로 이동해진다. 이처럼 본문이 긴 HTML 문서에서 앵커는 긴 본문에서 목차와 같은 역할을 해 사용자가 앵커를 통해 스크롤 하지 않고 바로 원하는 내용을 확인시켜 줄 수 있다.&lt;/p&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,CSS</category>
      <category>HTML</category>
      <author>codeStudy123</author>
      <guid isPermaLink="true">https://javaone.tistory.com/127</guid>
      <comments>https://javaone.tistory.com/127#entry127comment</comments>
      <pubDate>Tue, 5 Jul 2022 22:35:06 +0900</pubDate>
    </item>
    <item>
      <title>[Java] 자바의 LinkedList</title>
      <link>https://javaone.tistory.com/126</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&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; 배열은 데이터를 묶어 놓은 것으로 구조가 간단하고 데이터가 연속적으로 존재한다. 사용하기도 쉽고 데이터를 읽어 올 때는 걸리는 시간이 가장 빠르다는 장점도 가지고 있다.&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; 배열은 장점만 가지고 있는 것은 아니다. 단점으로는&amp;nbsp;&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;&amp;nbsp; 1. 크기를 변경할 수 없다.&lt;/h4&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;크기를 변경할 수 없으므로 만약 배열 저장공간이 부족할 시 더 큰 배열을 생성하고 공간이 부족한 배열의 값들을 복사하고 참조를 변경해야 한다. 이런 과정으로 프로그램 동작 시간이 오래 걸린다. 충분히 큰 크기의 배열을 미리 생성시켜도 메모리가 낭비된다.&lt;/blockquote&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp; &amp;nbsp;2. 비순차적인 데이터의 추가 또는 삭제에 시간이 많이 걸린다. (추가&amp;amp;삭제에 단점이 많음)&lt;/h4&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;차례대로 데이터를 추가하고 배열의 마지막 위치에 있는 데이터들은 삭제하기 쉽고 빠르지만, 배열의 중간에 데이터를 추가한다면, 빈자리를 만들기 위해 다른 데이터들을 복사해서 이동해야 하는 번거로움이 있다.&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &lt;b&gt;한마디로 Array의 장점은 사용하기 쉽고, 데이터를 읽을 때 빠르다는 장점이 있고 단점으로는 비순차적인 데이터 추가 및 삭제에서는 시간이 오래 걸리는 점, 배열의 size(크기)를 변경할 수 없다는 점이 있다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;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; LinkedList란?&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; Collection 프레임워크의 일부이며 java.util 패키지에 있는 클래스이다.&lt;/p&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; Array와 달리 LinkedList는 불연속적으로 데이터들이 존재한다. 그 데이터들은 서로 연결한 형태로 구성되어 있다.&lt;/p&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;772&quot; data-origin-height=&quot;242&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bNXRqJ/btrCoW2jwtb/6rqffQkPkE8nvAp3T8M43k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bNXRqJ/btrCoW2jwtb/6rqffQkPkE8nvAp3T8M43k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bNXRqJ/btrCoW2jwtb/6rqffQkPkE8nvAp3T8M43k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbNXRqJ%2FbtrCoW2jwtb%2F6rqffQkPkE8nvAp3T8M43k%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;772&quot; height=&quot;242&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;772&quot; data-origin-height=&quot;242&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;[그림 1] Node 구성도&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; 위 [그림 1]처럼 Node는 각 요소들은 자신의 다음 요소와 연결하여 다음 요소에 대한 참조(주소값)와 데이터로 구성되어 있다. LinkedList는 불연속적으로 존재하는 데이터를 서로 연결(link) 한 형태로 구성되어 있다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; 노드(node)란, 데이터가 저장되는 객체를 뜻한다. 보통 첫 번째 node를 head라고 부른다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1652795075210&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt; private static class Node&amp;lt;E&amp;gt; {
        E item;
        Node&amp;lt;E&amp;gt; next;
        Node&amp;lt;E&amp;gt; prev;

        Node(Node&amp;lt;E&amp;gt; prev, E element, Node&amp;lt;E&amp;gt; next) {
            this.item = element;
            this.next = next;
            this.prev = prev;
        }
 }&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; 위 코드는 LikedList$Node.class 파일에서 복사해서 붙여 넣은 것이다. 코드에서 Node 클래스는 멤버 변수가 item과 next, prev 단 세 가지가 있다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; 노드는 데이터를 적제한 변수와 다음 요소를 연결하기 위한 참조변수(주소값이 들어갈) 하나, 자신을 연결한 이전 요소의 주소값 이렇게 3가지로 구성된다.&amp;nbsp; &amp;nbsp;(이 코드는 Doubly-linked list입니다.)&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; Doubly-linked list와 Singly-linked list의 차이는 Doubly는 이전 노드와 다음 노드를 참조하지만 Singly는 다음 노드만 참조하도록 구성되어 있다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt; LinkedList 추가와 삭제&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; LinkedList는 데이터의 추가와 삭제가 간단하다. 삭제하고자 하는 요소의 이전 요소가 삭제하고자 하는 요소의 다음 요소를 참조하도록 변경하면 된다. 하나의 참조만 변경하면 되는 것이다. 이러한 이유로 LinkedList는 비순차적인 추가와 삭제에서도 Array와 다르게 더 빠른 것이다. Array는 복사하는 과정 때문에 늦었다면 LinkedList는 복사하는 과정이 필요 없다. (물론 순차적 추가 삭제는 Array가 더 성능이 좋다.)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; 이것으로 배열(Array)의 장점은&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;검색이 LinkedList보다 빠르다.&lt;/li&gt;
&lt;li&gt;순차적 추가 삭제는 LinkedList보다 빠르다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; 다음으로 링크드 리스트(LinkedList)의 장점은&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;비순차적 추가 삭제는 Array보다 더 좋은 성능을 가지고 있다.&lt;/li&gt;
&lt;li&gt;추가 삭제하기도 구조적으로 편하다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;edited_edited_Screenshot_2022-06-29-22-15-04-151.jpeg&quot; data-origin-width=&quot;1105&quot; data-origin-height=&quot;906&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/HnxmQ/btrGaqRNPLr/VcKcjBzrMLtftJkSueLI30/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/HnxmQ/btrGaqRNPLr/VcKcjBzrMLtftJkSueLI30/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/HnxmQ/btrGaqRNPLr/VcKcjBzrMLtftJkSueLI30/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHnxmQ%2FbtrGaqRNPLr%2FVcKcjBzrMLtftJkSueLI30%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;1105&quot; height=&quot;906&quot; data-filename=&quot;edited_edited_Screenshot_2022-06-29-22-15-04-151.jpeg&quot; data-origin-width=&quot;1105&quot; data-origin-height=&quot;906&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;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;edited_Screenshot_2022-06-29-22-18-41-746.jpeg&quot; data-origin-width=&quot;1006&quot; data-origin-height=&quot;903&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bIZNlM/btrF9CFdrpY/kQzJlkUmUHkoyopvgWglpK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bIZNlM/btrF9CFdrpY/kQzJlkUmUHkoyopvgWglpK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bIZNlM/btrF9CFdrpY/kQzJlkUmUHkoyopvgWglpK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbIZNlM%2FbtrF9CFdrpY%2FkQzJlkUmUHkoyopvgWglpK%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;1006&quot; height=&quot;903&quot; data-filename=&quot;edited_Screenshot_2022-06-29-22-18-41-746.jpeg&quot; data-origin-width=&quot;1006&quot; data-origin-height=&quot;903&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; Linked List에서 데이터 삭제는 간단하다. 삭제하고자 하는 요소의 이전 요소를 삭제하고자 하는 요소의 다음 요소를 참조하도록 바꿔주기만 하면 된다. 단 하나의 참조만 변경하면 삭제는 쉽게 할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; Linked List의 추가 역시 새로운 요소를 생성한 후 추가할 위치의 이전 요소의 참조를 새롭게 추가될 요소로 참조하도록 변경하고 새로운 요소는 그다음 요소를 참조하면 된다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt; LinkedList와 ArrayList 구조적 차이&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; 밑에 그림은 위에 arr은 Array 밑에는 LinkedList이다. ArrayList는 그림과 같이 요소들이 연속적으로 존재한다. 메모리에서도 요소들이 연속적으로 존재하기 때문에 간단한 계산만으로 요소의 주소 값을 쉽게 얻을 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; 배열의 경우 데이터 주소를 계산하기 위해서&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #006dd7; font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;인덱스가 n인 데이터 주소 = 배열의 주소+(n*데이터 타입의 크기)&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp; 예를 들어 int 배열은 데이터의 타입 크기가 4byte이다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp; 배열의 주소가 0*100이라면 index 0인 요소의 데이터 주소는&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp; 0*100+(0*4) = 0*100&amp;nbsp; &amp;nbsp;--&amp;gt; [0]의 데이터 주소&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp; 배열의 주소가 0*100이라면 index 2인 요소의 데이터 주소는&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;&lt;span&gt; 0*100+(2*4)= 0*108&amp;nbsp; --&amp;gt; [2]의 데이터 주소&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;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Screenshot_2022-06-29-22-31-18-492.jpeg&quot; data-origin-width=&quot;1866&quot; data-origin-height=&quot;974&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wMDGY/btrF752sbwW/QoG1ewVgrKXBrcgr7DOkGK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wMDGY/btrF752sbwW/QoG1ewVgrKXBrcgr7DOkGK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wMDGY/btrF752sbwW/QoG1ewVgrKXBrcgr7DOkGK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwMDGY%2FbtrF752sbwW%2FQoG1ewVgrKXBrcgr7DOkGK%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;1866&quot; height=&quot;974&quot; data-filename=&quot;Screenshot_2022-06-29-22-31-18-492.jpeg&quot; data-origin-width=&quot;1866&quot; data-origin-height=&quot;974&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;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;nbsp; LinkedList&lt;/b&gt;나 &lt;b&gt;ArrayList &lt;/b&gt;둘 다 List 인터페이스를 이용해 만들어진 것이라 List의 다양한 메서드들을 사용할 수 있다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp; &lt;b&gt;1.LinkedList 선언&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1656077063308&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.util.Arrays;
import java.util.LinkedList;&lt;/code&gt;&lt;/pre&gt;
&lt;pre id=&quot;code_1656077081656&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;LinkedList list1 = new LinkedList(); // 타입 미설정 기본값 Object
LinkedList&amp;lt;Object&amp;gt; list2 = new LinkedList&amp;lt;Object&amp;gt;(); // Object 타입
LinkedList&amp;lt;Integer&amp;gt; list3 = new LinkedList&amp;lt;Integer&amp;gt;(); // Integer 타입
LinkedList&amp;lt;Integer&amp;gt; list4 = new LinkedList&amp;lt;&amp;gt;(); // 타입 선언 생략
LinkedList&amp;lt;Integer&amp;gt; list5 = new LinkedList&amp;lt;&amp;gt;(Arrays.asList(1, 2, 3)); // 초기값 선언
LinkedList&amp;lt;Object&amp;gt; list6 = new LinkedList&amp;lt;&amp;gt;(list2);  //다른 LinkedList값으로 초기화&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; 다양한 형태의 타입으로 세팅할 수 있다. class, String, Double 등&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; list5처럼 선언과 동시에 초기값을 선언할 수 있다.&lt;b&gt; Arrays.asList(value1, value2, ....)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; list6처럼&lt;b&gt; 다른 Collection값으로 초기화할 수 있다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1656852990505&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;Stack st = new Stack();
st.push(&quot;안녕?&quot;);
LinkedList list = new LinkedList(st);
System.out.println(list);&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;79&quot; data-origin-height=&quot;21&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bgkdsF/btrGpC4ZFtH/f2Vj2ombeohmRabwgZU901/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bgkdsF/btrGpC4ZFtH/f2Vj2ombeohmRabwgZU901/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bgkdsF/btrGpC4ZFtH/f2Vj2ombeohmRabwgZU901/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbgkdsF%2FbtrGpC4ZFtH%2Ff2Vj2ombeohmRabwgZU901%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;79&quot; height=&quot;21&quot; data-origin-width=&quot;79&quot; data-origin-height=&quot;21&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 Stack 역시 Collection의 자손으로 LinkedList를 선언할 때 Stack으로 구성된 데이터를 받을 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;2-1.LinkedList 추가&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1656851149961&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;public class LinkedExample {

	public static void main(String[] args) {
		LinkedList&amp;lt;Integer&amp;gt; list = new LinkedList&amp;lt;&amp;gt;();
		list.add(0); //list에 0추가
		System.out.println(&quot;list: &quot;+list);
		
		list.add(150); //list에 150추가
		System.out.println(&quot;list: &quot;+list);
		
		list.add(1,300); //list index 1에 300추가
		System.out.println(&quot;list: &quot;+list); 
	}
}&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;225&quot; data-origin-height=&quot;77&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bJWXXj/btrGnXBxnRM/70es9MJKC5KBkQgSjzfkNK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bJWXXj/btrGnXBxnRM/70es9MJKC5KBkQgSjzfkNK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bJWXXj/btrGnXBxnRM/70es9MJKC5KBkQgSjzfkNK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbJWXXj%2FbtrGnXBxnRM%2F70es9MJKC5KBkQgSjzfkNK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;225&quot; height=&quot;77&quot; data-origin-width=&quot;225&quot; data-origin-height=&quot;77&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;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; LinkedList는 List인터페이스를 구현한 것으로 List의&amp;nbsp; int size(), boolean isEmpty(), boolean add() 등 값을 추가하고 삭제하는 다양한 메서드들을 사용할 수 있다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; 위 코드처럼&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &lt;b&gt;add(E e): &lt;/b&gt;메서드 값을 추가하면 마지막 index의 다음 공간을 생성해 추가한다.&amp;nbsp; e는 Object이므로 데이터의 종류 상관없이 모두 추가할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &lt;b&gt;add(int index, E element): &lt;/b&gt;는 매개변수로 받은 index 값의 위치에 데이터를 추가한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;index: index at which the specified element is to be inserted &lt;/b&gt;(명시된 index값에 element를 넣는다.)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;element: element to be inserted &lt;/b&gt;(삽입될 요소)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1656906805514&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;LinkedList&amp;lt;Integer&amp;gt; list = new LinkedList&amp;lt;&amp;gt;();
list.add(50);
list.addFirst(25);  //리스트 가장 앞에 데이터 추가
list.addLast(75);  //리스트 가장 뒤에 데이터 추가
System.out.println(list);&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;addFirst()와 addLast() 메서드는 리스트의 가장 앞이나 뒤에 데이터를 추가해주는 메서드이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;2-2.LinkedList 삭제&lt;/b&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1656906581243&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.util.LinkedList;

public class LinkedExample {

	public static void main(String[] args) {
		LinkedList&amp;lt;String&amp;gt; sList = new LinkedList&amp;lt;String&amp;gt;();
		sList.add(&quot;apple&quot;);
		out(sList);
		sList.add(&quot;pineapple&quot;);
		out(sList);
		
		LinkedList&amp;lt;String&amp;gt; sList2 = new LinkedList&amp;lt;&amp;gt;(sList); //sList값으로 초기화
		System.out.println(&quot;==리스트 삭제==&quot;);
		for(int i=sList.size()-1; i&amp;gt;=0;i--) {
			sList.remove(i);  //remove() 리스트 값 하나씩 삭제
			out(sList);
		}
		
		System.out.println(&quot;sList2: &quot;+sList2);
		System.out.println(&quot;==리스트 값 한번에 삭제==&quot;);
		sList2.clear();  //clear() 리스트 값 한번에 삭제
		System.out.println(&quot;sList2: &quot;+sList2);
	}
	// 리스트 호출 사용자 메서드
	static void out(LinkedList list) {
		System.out.println(&quot;sList: &quot;+list);
	}
}&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;271&quot; data-origin-height=&quot;190&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bs2OAv/btrGkejAOjP/GrxLMH4xYeiIxd4boTTOZk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bs2OAv/btrGkejAOjP/GrxLMH4xYeiIxd4boTTOZk/img.png&quot; data-alt=&quot;출력결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bs2OAv/btrGkejAOjP/GrxLMH4xYeiIxd4boTTOZk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbs2OAv%2FbtrGkejAOjP%2FGrxLMH4xYeiIxd4boTTOZk%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;271&quot; height=&quot;190&quot; data-origin-width=&quot;271&quot; data-origin-height=&quot;190&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;출력결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; 링크드 리스트의 데이터 삭제 메서드는 remove()와 clear() 등 이 존재한다.&lt;/p&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;color: #ee2323;&quot;&gt;&lt;b&gt;remove() &lt;/b&gt;&lt;/span&gt;는 리스트의 맨 마지막 데이터를 삭제한다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;clear() &lt;/span&gt;&lt;/b&gt;는 리스트의 데이터들을 전부 삭제한다. (데이터만 삭제되고 List는 완전히 삭제되지 않는다. 계속 JVM 메모리 Heap 부분에 존재하고 있다.)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;remove()메서드에 대해 자세히 알아보면&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;(Type1)&lt;/span&gt;&lt;/b&gt; &lt;b&gt;remove(int index)&lt;/b&gt;: index의 위치한 데이터를 삭제한다.&lt;br /&gt;&lt;b&gt;(Type2)&lt;/b&gt; &lt;b&gt;remove()&lt;/b&gt;: 생략 시 index0에 위치한 데이터를 삭제한다.(맨 앞 데이터 삭제)&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Time complexity: O(n)&lt;br /&gt;&lt;b&gt;(Type3)&lt;/b&gt; &lt;b&gt;remove(Object o)&lt;/b&gt;: 아무 데이터 타입이나 삭제한다. String, float 등 모든 데이터&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &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; Time complexity: O(n)&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1656908877923&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;LinkedList&amp;lt;String&amp;gt; sList = new LinkedList&amp;lt;String&amp;gt;();
sList.add(&quot;아기&quot;);
sList.add(&quot;돼지&quot;);
sList.add(&quot;^^&quot;);
System.out.println(&quot;sList:&quot;+sList);
sList.removeLast();
System.out.println(&quot;sList:&quot;+sList);
sList.removeFirst();
System.out.println(&quot;sList:&quot;+sList);&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;222&quot; data-origin-height=&quot;72&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b22L2g/btrGthfqPEu/rAqZeTbS9K6XKC6S1uJck1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b22L2g/btrGthfqPEu/rAqZeTbS9K6XKC6S1uJck1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b22L2g/btrGthfqPEu/rAqZeTbS9K6XKC6S1uJck1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb22L2g%2FbtrGthfqPEu%2FrAqZeTbS9K6XKC6S1uJck1%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;222&quot; height=&quot;72&quot; data-origin-width=&quot;222&quot; data-origin-height=&quot;72&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; removeLast(), removeFirst() 역시 리스트의 맨 처음이나 마지막 부분의 데이터를 삭제하는 메서드이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;3. LinkedList 크기&amp;nbsp;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1656909078930&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;LinkedList&amp;lt;String&amp;gt; sList = new LinkedList&amp;lt;String&amp;gt;(Arrays.asList(&quot;A&quot;,&quot;B&quot;,&quot;C&quot;,&quot;D&quot;));
System.out.println(&quot;sList:&quot;+sList);
System.out.println(sList.size());  //Integer 데이터 타입으로 4 return&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;196&quot; data-origin-height=&quot;46&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b6gw4F/btrGmo8svm0/v7VTQJzLkIu6Lvv7soOyS1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b6gw4F/btrGmo8svm0/v7VTQJzLkIu6Lvv7soOyS1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b6gw4F/btrGmo8svm0/v7VTQJzLkIu6Lvv7soOyS1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb6gw4F%2FbtrGmo8svm0%2Fv7VTQJzLkIu6Lvv7soOyS1%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;196&quot; height=&quot;46&quot; data-origin-width=&quot;196&quot; data-origin-height=&quot;46&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;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;4. LinkedList 값 가져오기&lt;/b&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1656910023664&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.util.Arrays;
import java.util.LinkedList;

public class LinkedExample {

	public static void main(String[] args) {
		LinkedList&amp;lt;Integer&amp;gt; sList = new LinkedList&amp;lt;&amp;gt;(Arrays.asList(1,2,3,4));
		int first_listValue = sList.get(0);
		System.out.println(first_listValue);
		System.out.println(sList.getLast());
        
		System.out.println(&quot;=====&quot;);
        
		for(int i:sList) {  
        	//반복문을 통해 List 값 차례대로 가져오기
			System.out.println(sList.get(i-1));  
		}
		
	}
	
}&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;70&quot; data-origin-height=&quot;169&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eaxrQZ/btrGrYU7PDV/FmYll0xE2xRK8h2LG84M5K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eaxrQZ/btrGrYU7PDV/FmYll0xE2xRK8h2LG84M5K/img.png&quot; data-alt=&quot;출력결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eaxrQZ/btrGrYU7PDV/FmYll0xE2xRK8h2LG84M5K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeaxrQZ%2FbtrGrYU7PDV%2FFmYll0xE2xRK8h2LG84M5K%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;70&quot; height=&quot;169&quot; data-origin-width=&quot;70&quot; data-origin-height=&quot;169&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;출력결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;public E get(int index) 메서드는 index에 해당하는 데이터 값을 return 해준다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ArrayList에서 사용하는 get()과 LinkedList에서 사용하는 get()은 속도 차이가 난다. LinkedList가 훨씬 느리다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;5. LinkedList 값 검색&lt;/b&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1656910616147&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;LinkedList&amp;lt;Integer&amp;gt; sList = new LinkedList&amp;lt;&amp;gt;(Arrays.asList(1,2,3,4));
System.out.println(sList.contains(3));  //값 3 검색 있으면 true
System.out.println(sList.contains(30)); //없으면 false
		
System.out.println(sList.indexOf(2));  //값 2에 해당하는 index값 출력
System.out.println(sList.lastIndexOf(1));  //뒤에서부터 검색
System.out.println(sList.indexOf(&quot;System&quot;));  //없으면 -1을 출력&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;71&quot; data-origin-height=&quot;115&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dD83yU/btrGtgHMeQL/bFr4P1fVoiKfvpKxV0C5k0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dD83yU/btrGtgHMeQL/bFr4P1fVoiKfvpKxV0C5k0/img.png&quot; data-alt=&quot;출력결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dD83yU/btrGtgHMeQL/bFr4P1fVoiKfvpKxV0C5k0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdD83yU%2FbtrGtgHMeQL%2FbFr4P1fVoiKfvpKxV0C5k0%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;71&quot; height=&quot;115&quot; data-origin-width=&quot;71&quot; data-origin-height=&quot;115&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;출력결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;public int indexOf (Object o)&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;public int contains (Object o)&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;public int lastIndexOf (Object&amp;nbsp;o)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;참고한 좋은 글들&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.nextree.co.kr/p6506/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.nextree.co.kr/p6506/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1656077754133&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;자료구조: Linked List 대 ArrayList&quot; data-og-description=&quot;2014년 모두들 어떤 목적과 계획을 갖고 살고 계신지요? 저는 올 한해 &amp;ldquo;Go to the Base&amp;rdquo;를 목표로 여러 계획을 세웠는데요. 그 중 하나가 과거 5년 동안 저를 되 돌아 보고 부족했던 기본 지식을 탄&quot; data-og-host=&quot;www.nextree.co.kr&quot; data-og-source-url=&quot;https://www.nextree.co.kr/p6506/&quot; data-og-url=&quot;https://www.nextree.co.kr/p6506/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/o9rAO/hyOSOBCxG9/Jk5rFnhw0kbogSkVfMpa3K/img.png?width=1167&amp;amp;height=188&amp;amp;face=0_0_1167_188,https://scrap.kakaocdn.net/dn/cylSaI/hyORSeyX7S/1UhtKNj40KfeyaXp3KRayk/img.png?width=1167&amp;amp;height=188&amp;amp;face=0_0_1167_188,https://scrap.kakaocdn.net/dn/bEBmDC/hyORQHN3q4/yhKxHHNoOjF2bZO3aLJoKK/img.png?width=1199&amp;amp;height=406&amp;amp;face=0_0_1199_406&quot;&gt;&lt;a href=&quot;https://www.nextree.co.kr/p6506/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.nextree.co.kr/p6506/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/o9rAO/hyOSOBCxG9/Jk5rFnhw0kbogSkVfMpa3K/img.png?width=1167&amp;amp;height=188&amp;amp;face=0_0_1167_188,https://scrap.kakaocdn.net/dn/cylSaI/hyORSeyX7S/1UhtKNj40KfeyaXp3KRayk/img.png?width=1167&amp;amp;height=188&amp;amp;face=0_0_1167_188,https://scrap.kakaocdn.net/dn/bEBmDC/hyORQHN3q4/yhKxHHNoOjF2bZO3aLJoKK/img.png?width=1199&amp;amp;height=406&amp;amp;face=0_0_1199_406');&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;자료구조: Linked List 대 ArrayList&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;2014년 모두들 어떤 목적과 계획을 갖고 살고 계신지요? 저는 올 한해 &amp;ldquo;Go to the Base&amp;rdquo;를 목표로 여러 계획을 세웠는데요. 그 중 하나가 과거 5년 동안 저를 되 돌아 보고 부족했던 기본 지식을 탄&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.nextree.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://coding-factory.tistory.com/552&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://coding-factory.tistory.com/552&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1656910650300&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;[Java] 자바 LinkedList 사용법 &amp;amp; 예제 총정리&quot; data-og-description=&quot;LinkedList란? 연결 리스트(LinkedList)는 각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식의 자료구조입니다. 데이터를 담고 있는 노드들이 연결되어 있고, 노드의 포인터가 이전 노&quot; data-og-host=&quot;coding-factory.tistory.com&quot; data-og-source-url=&quot;https://coding-factory.tistory.com/552&quot; data-og-url=&quot;https://coding-factory.tistory.com/552&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cpyNRe/hyOYfUZbXg/5DZynO15ykDLoPoEKHqyEk/img.png?width=800&amp;amp;height=162&amp;amp;face=0_0_800_162,https://scrap.kakaocdn.net/dn/bbHbcc/hyOYl1SMDU/XxxaUKyHWiKlsg8JxprRO0/img.png?width=800&amp;amp;height=162&amp;amp;face=0_0_800_162,https://scrap.kakaocdn.net/dn/bE7kP4/hyOZAJWEC0/Kja8xfJAtkCBP2Qfy7xWwk/img.png?width=998&amp;amp;height=203&amp;amp;face=0_0_998_203&quot;&gt;&lt;a href=&quot;https://coding-factory.tistory.com/552&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://coding-factory.tistory.com/552&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cpyNRe/hyOYfUZbXg/5DZynO15ykDLoPoEKHqyEk/img.png?width=800&amp;amp;height=162&amp;amp;face=0_0_800_162,https://scrap.kakaocdn.net/dn/bbHbcc/hyOYl1SMDU/XxxaUKyHWiKlsg8JxprRO0/img.png?width=800&amp;amp;height=162&amp;amp;face=0_0_800_162,https://scrap.kakaocdn.net/dn/bE7kP4/hyOZAJWEC0/Kja8xfJAtkCBP2Qfy7xWwk/img.png?width=998&amp;amp;height=203&amp;amp;face=0_0_998_203');&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;[Java] 자바 LinkedList 사용법 &amp;amp; 예제 총정리&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;LinkedList란? 연결 리스트(LinkedList)는 각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식의 자료구조입니다. 데이터를 담고 있는 노드들이 연결되어 있고, 노드의 포인터가 이전 노&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;coding-factory.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;</description>
      <category>컴퓨터 과학/자료구조</category>
      <category>java</category>
      <category>linkedlist</category>
      <category>자료구조</category>
      <author>codeStudy123</author>
      <guid isPermaLink="true">https://javaone.tistory.com/126</guid>
      <comments>https://javaone.tistory.com/126#entry126comment</comments>
      <pubDate>Mon, 4 Jul 2022 21:11:01 +0900</pubDate>
    </item>
    <item>
      <title>[백준] 4949번: 균현잡힌 세상_Java</title>
      <link>https://javaone.tistory.com/125</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;제목: 균형잡힌 세상&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #7e98b1; font-family: 'Noto Serif KR';&quot;&gt;실버4&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;div&gt;
&lt;div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;문제&lt;/span&gt;&lt;/h2&gt;
&lt;/div&gt;
&lt;div id=&quot;problem_description&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;세계는 균형이 잘 잡혀있어야 한다. 양과 음, 빛과 어둠 그리고 왼쪽 괄호와 오른쪽 괄호처럼 말이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정민이의 임무는 어떤 문자열이 주어졌을 때, 괄호들의 균형이 잘 맞춰져 있는지 판단하는 프로그램을 짜는 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;문자열에 포함되는 괄호는 소괄호(&quot;()&quot;) 와 대괄호(&quot;[]&quot;)로 2종류이고, 문자열이 균형을 이루는 조건은 아래와 같다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 왼쪽 소괄호(&quot;(&quot;)는 오른쪽 소괄호(&quot;)&quot;)와만 짝을 이뤄야 한다.&lt;/li&gt;
&lt;li&gt;모든 왼쪽 대괄호(&quot;[&quot;)는 오른쪽 대괄호(&quot;]&quot;)와만 짝을 이뤄야 한다.&lt;/li&gt;
&lt;li&gt;모든 오른쪽 괄호들은 자신과 짝을 이룰 수 있는 왼쪽 괄호가 존재한다.&lt;/li&gt;
&lt;li&gt;모든 괄호들의 짝은 1:1 매칭만 가능하다. 즉, 괄호 하나가 둘 이상의 괄호와 짝지어지지 않는다.&lt;/li&gt;
&lt;li&gt;짝을 이루는 두 괄호가 있을 때, 그 사이에 있는 문자열도 균형이 잡혀야 한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정민이를 도와 문자열이 주어졌을 때 균형잡힌 문자열인지 아닌지를 판단해보자.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;입력&lt;/span&gt;&lt;/h2&gt;
&lt;/div&gt;
&lt;div id=&quot;problem_input&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하나 또는 여러줄에 걸쳐서 문자열이 주어진다. 각 문자열은 영문 알파벳, 공백, 소괄호(&quot;( )&quot;) 대괄호(&quot;[ ]&quot;)등으로 이루어져 있으며, 길이는 100글자보다 작거나 같다. 각 줄은 마침표(&quot;.&quot;)로 끝난다.&lt;/p&gt;
&lt;div&gt;입력의 종료조건으로 맨 마지막에 점 하나(&quot;.&quot;)가 들어온다.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;출력&lt;/span&gt;&lt;/h2&gt;
&lt;/div&gt;
&lt;div id=&quot;problem_output&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각 줄마다 해당 문자열이 균형을 이루고 있으면 &quot;yes&quot;를, 아니면 &quot;no&quot;를 출력한다.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;div&gt;
&lt;div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;예제 입력 1&lt;span&gt;&amp;nbsp;&lt;/span&gt;복사&lt;/h2&gt;
&lt;/div&gt;
&lt;pre id=&quot;sample-input-1&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot;&gt;&lt;code&gt;So when I die (the [first] I will see in (heaven) is a score list).
[ first in ] ( first out ).
Half Moon tonight (At least it is better than no Moon at all].
A rope may form )( a trail in a maze.
Help( I[m being held prisoner in a fortune cookie factory)].
([ (([( [ ] ) ( ) (( ))] )) ]).
 .
.&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;예제 출력 1&lt;span&gt;&amp;nbsp;&lt;/span&gt;복사&lt;/h2&gt;
&lt;/div&gt;
&lt;pre id=&quot;sample-output-1&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot;&gt;&lt;code&gt;yes
yes
no
no
no
yes
yes&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;  코드&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;case1:&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&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;pre id=&quot;code_1656592905932&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;

public class Main {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		while (true) {
			String str = br.readLine();
			if(str.equals(&quot;.&quot;)) break;
			System.out.println(StackMethod(str));
		}
	}
	
	static String StackMethod(String instr) {
		String[] strArr = instr.split(&quot;&quot;);
		Stack&amp;lt;Character&amp;gt; st = new Stack&amp;lt;&amp;gt;();
		for(int i=0; i&amp;lt;strArr.length;i++) {
			char c = strArr[i].charAt(0);  
			if(c=='('||c=='[') {
				st.push(c);
			}
			else if(c==')') {
				if(st.empty()||!(st.peek()=='(')) {
					return &quot;no&quot;;
				}else if(st.peek()=='(') {
					st.pop();
				}
			}
			if(c==']') {
				if(st.empty()||!(st.peek()=='[')) {
					return &quot;no&quot;;
				}else if(st.peek()=='[') {
					st.pop();
				}
			}
		}
		
		if(st.empty()) {
			return &quot;yes&quot;;
		}else {
			return &quot;no&quot;;
		}
	}
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;case2:&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&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;pre id=&quot;code_1656592913044&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;

public class Main {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		while (true) {
			String str = br.readLine();
			if (str.equals(&quot;.&quot;)) {
				break;
			}
			StringBuilder sb = new StringBuilder();
			Stack&amp;lt;Character&amp;gt; st = new Stack&amp;lt;Character&amp;gt;();
			for (int i = 0; i &amp;lt; str.length(); i++) {
				try {
					char c = str.charAt(i);
					if (c == ' ')
						continue;

					if (c == '(' || c == '[') {
						st.push(c);
					} else if (c == ')') {
						if (st.empty() || !(st.peek() == '(')) {
							st.push(')');
							break;
						} else {
							st.pop();
						}
					}else if(c==']') {
						if (st.empty() || !(st.peek() == '[')) {
							st.push(']');
							break;
						} else {
							st.pop();
						}
					}
				} catch (EmptyStackException stackEx) {
					sb.append(&quot;no&quot;).append(&quot;\n&quot;);
				}
			}

			if (st.isEmpty()) {
				sb.append(&quot;yes&quot;).append(&quot;\n&quot;);
			} else {
				sb.append(&quot;no&quot;).append(&quot;\n&quot;);
			}
			System.out.print(sb);
		}

	}
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;알고리즘 분류&lt;/p&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/tag/175&quot;&gt;자료 구조&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/tag/158&quot;&gt;문자열&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/tag/71&quot;&gt;스택&lt;/a&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;a href=&quot;https://www.acmicpc.net/problem/4949&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.acmicpc.net/problem/4949&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1656592940968&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;4949번: 균형잡힌 세상&quot; data-og-description=&quot;하나 또는 여러줄에 걸쳐서 문자열이 주어진다. 각 문자열은 영문 알파벳, 공백, 소괄호(&amp;quot;( )&amp;quot;) 대괄호(&amp;quot;[ ]&amp;quot;)등으로 이루어져 있으며, 길이는 100글자보다 작거나 같다. 각 줄은 마침표(&amp;quot;.&amp;quot;)로 끝난다&quot; data-og-host=&quot;www.acmicpc.net&quot; data-og-source-url=&quot;https://www.acmicpc.net/problem/4949&quot; data-og-url=&quot;https://www.acmicpc.net/problem/4949&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/br8LUP/hyOWYjZkLm/R93uRv20rDIivRhMkuIef0/img.png?width=2834&amp;amp;height=1480&amp;amp;face=0_0_2834_1480&quot;&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/4949&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.acmicpc.net/problem/4949&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/br8LUP/hyOWYjZkLm/R93uRv20rDIivRhMkuIef0/img.png?width=2834&amp;amp;height=1480&amp;amp;face=0_0_2834_1480');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;4949번: 균형잡힌 세상&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;하나 또는 여러줄에 걸쳐서 문자열이 주어진다. 각 문자열은 영문 알파벳, 공백, 소괄호(&quot;( )&quot;) 대괄호(&quot;[ ]&quot;)등으로 이루어져 있으며, 길이는 100글자보다 작거나 같다. 각 줄은 마침표(&quot;.&quot;)로 끝난다&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.acmicpc.net&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&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>PS/백준</category>
      <category>java</category>
      <category>백준</category>
      <category>백준 알고리즘</category>
      <author>codeStudy123</author>
      <guid isPermaLink="true">https://javaone.tistory.com/125</guid>
      <comments>https://javaone.tistory.com/125#entry125comment</comments>
      <pubDate>Thu, 30 Jun 2022 21:43:05 +0900</pubDate>
    </item>
    <item>
      <title>[HTML] 기본1</title>
      <link>https://javaone.tistory.com/124</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; HTML(HyperText Markup Language)은 웹 문서를 작성하는 태그 언어이다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; 웹 브라우저는 한 번에 하나의 HTML 페이지를 화면에 출력한다.&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; HTML 언어의 역사는 따로 찾아보면 재밌는 글들이 많을 것이다.&lt;/p&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;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; HTML5에서 HTML 페이지는 &amp;lt;!DOCTYPE&amp;gt; 선언과 주석문, 그리고 헤드 부분과 바디 부분으로 구성된다.&lt;/p&gt;
&lt;pre id=&quot;code_1656476038453&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;title&amp;gt;HTML&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;!--주석문 화면에 출력x--&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; 위 코드의 태그 중 &amp;lt;html&amp;gt;, &amp;lt;head&amp;gt;, &amp;lt;body&amp;gt;, &amp;lt;title&amp;gt; 태그는 HTML5의 필수 태그들이다. HTML 문서를 만들 때 반드시 있어야 한다.&lt;/p&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;size18&quot;&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;&lt;b&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;lt;!DOCTYPE html&amp;gt;은 브라우저에게 이 문서는 html5 임을 알리는 지시어이다. 반드시 첫 줄에 있어야 한다.&amp;nbsp; 소문자로 doctype으로 사용해도 된다.&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;b&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;&amp;lt;!--주석--&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp; HTML 문서 내에 다는 주석문으로 주석문은 웹 브라우저에 의해 출력되지 않는다. 주석문은&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;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;&amp;lt;head&amp;gt;&amp;lt;/head&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp; &amp;lt;head&amp;gt;&amp;lt;/head&amp;gt;로 둘러싼 부분으로 &amp;lt;title&amp;gt; 태그가 있는 것을 위 코드에서 볼 수 있다. head태그는 문서의 제목, 본문을 설명하는 메타 태그들 JS 코드 CSS 스타일 시트 등을 포함하며 문서의 본문은 포함되지 않는다.&amp;nbsp; 한마디로 화면에 출력되지 않는 데이터들을 처리하는 부분이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;&lt;b&gt;&amp;lt;body&amp;gt;&amp;lt;/body&amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp; 문서의 본문이라고 볼 수 있는 바디(body) 태그는 JS코드도 포함할 수 있다. 바디는 화면에 보이는 데이터를 처리하며 head와 body 사이에는 아무것도 들어갈 수 없다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;&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;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;HTML 태그 문법&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #000000;&quot;&gt;HTML에는 수많은 태그들이 있다. 이 태그들은 HTML5만의 문법을 이용해 태그들을 사용할 수 있다. HTML5 문법은 매우 간단하다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp; 태드들은 태그 이름과 여러 속성들(attribute)로 구성되어 있다.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1656476756671&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;meta name=&quot;author&quot; content=&quot;kim&quot;&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;lt;meta&amp;gt; 태그를 보면 meta가 태그 이름이고 name, content가 속성 이름&amp;nbsp; &amp;nbsp;&quot;&quot;로 감싸진 문자들 author, kim은 속성 값이다.&amp;nbsp; 속성 이름과 속성 값을 합쳐 속성이라고 부른다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; HTML 태그들은 시작 태그와 종료 태그로 구성된 태그들이 있고 위에 meta 태그처럼 종료 태그가 없는 것이 있다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1656477005860&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;!--종료태그가 있는 태그 예시--&amp;gt;
&amp;lt;a href=&quot;#&quot; target=&quot;_blank&quot;&amp;gt;링크&amp;lt;/a&amp;gt;

&amp;lt;!--종료태그가 없는 태그 예시--&amp;gt;
&amp;lt;img src=&quot;&quot; width=&quot;100&quot; height=&quot;100&quot; alt=&quot;이미지&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;&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; 태그의 속성은 대소문자를 구분하지 않는다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1656477126458&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;img src=&quot;&quot; Width=&quot;100&quot; Height=&quot;100&quot; alt=&quot;이미지&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; 속성 값 역시 &quot;&quot;로 안 묶어도 된다. ''안에 속성 값을 적어도 되고 아예 (&quot;&quot;, '')를 사용하지 않아도 된다. 하지만 많은 HTML 웹 문서들은 &quot;&quot;안에 속성 값을 적는 게 룰이 되었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; 이제부터 기본적인 태그들의 사용법에 대해 정리해보겠다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;&amp;lt;title&amp;gt; 타이틀 태그&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; HTML5의 필수 태그인 &amp;lt;title&amp;gt;은 &amp;lt;head&amp;gt; 태그 안에 존재해야 한다.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1656477400291&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;title&amp;gt;HTML&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1318&quot; data-origin-height=&quot;42&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/v9ZJd/btrF4ewjIg3/WHHIQLXPbFT7jZB9xpcr81/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/v9ZJd/btrF4ewjIg3/WHHIQLXPbFT7jZB9xpcr81/img.png&quot; data-alt=&quot;출력결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/v9ZJd/btrF4ewjIg3/WHHIQLXPbFT7jZB9xpcr81/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fv9ZJd%2FbtrF4ewjIg3%2FWHHIQLXPbFT7jZB9xpcr81%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;1318&quot; height=&quot;42&quot; data-origin-width=&quot;1318&quot; data-origin-height=&quot;42&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;출력결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; 브라우저 상단에 웹 페이지 타이틀이 HTML인 것을 확인할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;문단의 제목 &amp;lt;h1&amp;gt;~&amp;lt;h6&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;일반적인 문서들은 가독성을 위해 문서를 구조화한다. 장, 절, 문단, 소제목, 제목 등 HTML5 역시 문서와 매우 비슷하다. 대제목 소제목을 달아주는 태그들이 존재한다. &amp;lt;h1&amp;gt;은 제목 태그 중 제일 큰 태그 &amp;lt;h6&amp;gt;는 제일 작은 제목 태그이다.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1656477729896&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;title&amp;gt;HTML&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;h1&amp;gt;H1&amp;lt;/h1&amp;gt;
    &amp;lt;h2&amp;gt;H2&amp;lt;/h2&amp;gt;
    &amp;lt;h3&amp;gt;H3&amp;lt;/h3&amp;gt;
    &amp;lt;h4&amp;gt;H4&amp;lt;/h4&amp;gt;
    &amp;lt;h5&amp;gt;H5&amp;lt;/h5&amp;gt;
    &amp;lt;h6&amp;gt;H6&amp;lt;/h6&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;532&quot; data-origin-height=&quot;392&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/p9ITs/btrFZkMkl6Q/lfmU5Skmq06rrkFfq3yln0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/p9ITs/btrFZkMkl6Q/lfmU5Skmq06rrkFfq3yln0/img.png&quot; data-alt=&quot;결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/p9ITs/btrFZkMkl6Q/lfmU5Skmq06rrkFfq3yln0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fp9ITs%2FbtrFZkMkl6Q%2FlfmU5Skmq06rrkFfq3yln0%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;532&quot; height=&quot;392&quot; data-origin-width=&quot;532&quot; data-origin-height=&quot;392&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&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;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;&amp;lt;title&amp;gt;의 또 다른 기능 툴팁&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;lt;title&amp;gt; 태그는 설명문(툴팁)의 기능도 있다.&amp;nbsp; &amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1656477942826&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;h1 title=&quot;h1태그의 툴팁입니다.&quot;&amp;gt;H1&amp;lt;/h1&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;&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;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;&amp;lt;p&amp;gt;, &amp;lt;hr&amp;gt;, &amp;lt;br&amp;gt; (단락, 수평선, 줄 넘기) 태그&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; paragraph으로 나눌 수 있는 &amp;lt;p&amp;gt; 태그는 문단을 표현하기 위한 태그이다. &amp;lt;/p&amp;gt; 종료 태그 다음에는 자동으로 빈 줄이 생긴다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1656478519722&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;title&amp;gt;HTML&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;p&amp;gt;
        HTML 문서에서 문단을 표현하기 위한 태그는 
        무엇이 있을까? 같이 알아가보자.
    &amp;lt;/p&amp;gt;
    &amp;lt;p&amp;gt;
        문단이 나누어 진 것 같다. 종료 태그 기준으로 자동으로 빈 줄도 생겼다.
        신기하다.
    &amp;lt;/p&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;619&quot; data-origin-height=&quot;263&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bF1btG/btrF3hHdE4P/978pSTNfHNOyM5UP54FLqK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bF1btG/btrF3hHdE4P/978pSTNfHNOyM5UP54FLqK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bF1btG/btrF3hHdE4P/978pSTNfHNOyM5UP54FLqK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbF1btG%2FbtrF3hHdE4P%2F978pSTNfHNOyM5UP54FLqK%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;619&quot; height=&quot;263&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;619&quot; data-origin-height=&quot;263&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; 문단 내에서 내용 전환이 필요할 때 수평선을 삽입해서 시각적 효과로 문단을 구분할 수 있다. 수평선을 그어주는 태그는 &amp;lt;hr&amp;gt;이다. 종료 태그는 없다.&lt;/p&gt;
&lt;pre id=&quot;code_1656503210477&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;&amp;lt;html lang=&quot;ko&quot;&amp;gt;&amp;lt;head&amp;gt;&amp;lt;title&amp;gt;수평선&amp;lt;/title&amp;gt;&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    수평선
    &amp;lt;hr&amp;gt;
    그어볼까?
    &amp;lt;hr&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;342&quot; data-origin-height=&quot;120&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kVExX/btrF2M9Ijdb/O8muTaCYjbNNlsmbsD42Ck/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kVExX/btrF2M9Ijdb/O8muTaCYjbNNlsmbsD42Ck/img.png&quot; data-alt=&quot;실행결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kVExX/btrF2M9Ijdb/O8muTaCYjbNNlsmbsD42Ck/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkVExX%2FbtrF2M9Ijdb%2FO8muTaCYjbNNlsmbsD42Ck%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;342&quot; height=&quot;120&quot; data-origin-width=&quot;342&quot; data-origin-height=&quot;120&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;실행결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;HTML 코드는 &amp;lt;Enter&amp;gt; 키를 여러 개 입력해도 웹 상에서 다음 줄로 넘어가지 않는다. 새로운 줄로 넘어가 출력시키고 싶으면 &amp;lt;br&amp;gt; 태그를 사용하면 된다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1656503564201&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;&amp;lt;html lang=&quot;ko&quot;&amp;gt;&amp;lt;head&amp;gt;&amp;lt;title&amp;gt;줄바꿈&amp;lt;/title&amp;gt;&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    아무리 줄바꿈를 해도


    웹 상에서는 엔터키가 안먹히네 ㅜ
    근데 &amp;lt;br&amp;gt;
    &amp;amp;lt;br&amp;amp;gt;로는 넘어가진다.
    &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;
    3줄 넘기
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;616&quot; data-origin-height=&quot;172&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/doX7kV/btrF3YoidGD/Gek83fycgQ1Cq6V8zLUw3K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/doX7kV/btrF3YoidGD/Gek83fycgQ1Cq6V8zLUw3K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/doX7kV/btrF3YoidGD/Gek83fycgQ1Cq6V8zLUw3K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdoX7kV%2FbtrF3YoidGD%2FGek83fycgQ1Cq6V8zLUw3K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;616&quot; height=&quot;172&quot; data-origin-width=&quot;616&quot; data-origin-height=&quot;172&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;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #009a87;&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;&amp;nbsp;&lt;span style=&quot;color: #000000;&quot;&gt;HTML 문서에서 문자들은 유니코드 UTF-8 코드체계로 작성되는 것이 표준이다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp; UTF-8은 현재 가장 다양한 종류의 문자, 기호, 심볼을 표현할 수 있는 코드 체계이다. 하지만, '&amp;lt;', '&amp;gt;'와 같은 HTML 예악 어나 다양한 수학기호나 특수기호는 키보드로 입력하기 힘들다. 키보드로 입력하기 위해 엔터티와 코드 표현을 사용하면 된다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1656503831662&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;amp;엔터티; &amp;amp;#코드값;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;방법은 위와 같이 두 가지이다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1656503964187&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;&amp;lt;html lang=&quot;ko&quot;&amp;gt;&amp;lt;head&amp;gt;&amp;lt;title&amp;gt;줄바꿈&amp;lt;/title&amp;gt;&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
y = &amp;amp;sum;x
&amp;lt;br&amp;gt;
&amp;amp;#60;body&amp;amp;#62; 와 &amp;amp;lt;head&amp;amp;gt; 태그 ㅎ
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;273&quot; data-origin-height=&quot;57&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Iko3Y/btrF3Znajsu/HsTAh5aH5icCH8rMGje26k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Iko3Y/btrF3Znajsu/HsTAh5aH5icCH8rMGje26k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Iko3Y/btrF3Znajsu/HsTAh5aH5icCH8rMGje26k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FIko3Y%2FbtrF3Znajsu%2FHsTAh5aH5icCH8rMGje26k%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;273&quot; height=&quot;57&quot; data-origin-width=&quot;273&quot; data-origin-height=&quot;57&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;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://aneok.tistory.com/86&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://aneok.tistory.com/86&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1656504135117&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;HTML 자주 사용 특수문자 코드표 (Entity code)&quot; data-og-description=&quot;Entity code 자주 사용하는 html 앤티티 코드를 정리하였습니다. 간혹 정말 필요한데 검색할려니 마땅히 무엇을 적어야 할지 몰라 당황했던적이 있습니다. 생각해보면 특수문자 또는 html code라고만 &quot; data-og-host=&quot;aneok.tistory.com&quot; data-og-source-url=&quot;https://aneok.tistory.com/86&quot; data-og-url=&quot;https://aneok.tistory.com/86&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/k6GTB/hyOV6paUpi/0g0JwxVGvhqr2X6d4Ez461/img.jpg?width=640&amp;amp;height=426&amp;amp;face=0_0_640_426,https://scrap.kakaocdn.net/dn/Spx3e/hyOVUhWMAw/3GLJ7ZFbTfCrHzrLwrQ0uK/img.jpg?width=640&amp;amp;height=426&amp;amp;face=0_0_640_426&quot;&gt;&lt;a href=&quot;https://aneok.tistory.com/86&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://aneok.tistory.com/86&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/k6GTB/hyOV6paUpi/0g0JwxVGvhqr2X6d4Ez461/img.jpg?width=640&amp;amp;height=426&amp;amp;face=0_0_640_426,https://scrap.kakaocdn.net/dn/Spx3e/hyOVUhWMAw/3GLJ7ZFbTfCrHzrLwrQ0uK/img.jpg?width=640&amp;amp;height=426&amp;amp;face=0_0_640_426');&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;HTML 자주 사용 특수문자 코드표 (Entity code)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Entity code 자주 사용하는 html 앤티티 코드를 정리하였습니다. 간혹 정말 필요한데 검색할려니 마땅히 무엇을 적어야 할지 몰라 당황했던적이 있습니다. 생각해보면 특수문자 또는 html code라고만&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;aneok.tistory.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;
&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;size18&quot;&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;&lt;b&gt;그대로 출력하는 태그 &amp;lt;pre&amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; 브라우저는 개발자가 HTML 문서의 모양을 포맷하기 위해 삽입한 여러 개의 빈칸이나 탭 줄바꿈을 모두 하나의 빈칸으로만 처리한다. 개발자가 의도한 모양대로 출력하기 위해서는 &amp;lt;pre&amp;gt; 태그를 사용하면 된다.&lt;/p&gt;
&lt;pre id=&quot;code_1656505584379&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;&amp;lt;html lang=&quot;ko&quot;&amp;gt;&amp;lt;head&amp;gt;&amp;lt;title&amp;gt;줄바꿈&amp;lt;/title&amp;gt;&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
&amp;amp;lt;pre&amp;amp;gt; 사용 전: 개발자가 의도한대로
                    출력이 왜 안돼~
&amp;lt;pre&amp;gt;
    개발자가 의도한대로
    출력이 돼~
      이것도 가    능
&amp;lt;/pre&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;527&quot; data-origin-height=&quot;132&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xtToa/btrF4wdNjuw/ApGUbJCCyu6gz8MPhSxRxK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xtToa/btrF4wdNjuw/ApGUbJCCyu6gz8MPhSxRxK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xtToa/btrF4wdNjuw/ApGUbJCCyu6gz8MPhSxRxK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxtToa%2FbtrF4wdNjuw%2FApGUbJCCyu6gz8MPhSxRxK%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;527&quot; height=&quot;132&quot; data-origin-width=&quot;527&quot; data-origin-height=&quot;132&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;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;블록태그와 인라인 태그&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;HTML 태그들은 블록 태그(block) 인라인(inline) 태그 두 가지로 나뉜다.&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;color: #000000;&quot;&gt;&amp;nbsp; 블록 태그는 항상 새 라인에서 시작하고 브라우저의 왼쪽 끝에서 오른쪽 끝까지 블록 공간을 차지한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&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;&amp;nbsp; 많이 사용하는 블록 태그 중 &amp;lt;div&amp;gt; 태그가 있다. &amp;lt;div&amp;gt;는 특별한 기능과 의미가 없다 그냥 의미 없는 블로 태그이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; 인라인에서 의미없는 태그는 &amp;lt;span&amp;gt;이다.&amp;nbsp; 보통 이런 의미 없는 태그로 CSS 스타일을 적용하거나 JS로 다루거나 구조화할 때 많이 사용된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예)&lt;/p&gt;
&lt;pre id=&quot;code_1656506080068&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;&amp;lt;html lang=&quot;ko&quot;&amp;gt;&amp;lt;head&amp;gt;&amp;lt;title&amp;gt;줄바꿈&amp;lt;/title&amp;gt;&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
&amp;lt;h3&amp;gt;&amp;amp;lt;div&amp;amp;gt;와 &amp;amp;lt;span&amp;amp;gt;&amp;lt;/h3&amp;gt;
&amp;lt;hr&amp;gt;
&amp;lt;div style=&quot;background-color: beige; padding: 20px;&quot;&amp;gt;
    &amp;lt;span style=&quot;color: red;&quot;&amp;gt;1980년&amp;lt;/span&amp;gt;, 유럽 입자 물리 연구소(CERN)의 계약자였었던 물리학자 &amp;lt;span style=&quot;color:skyblue;&quot;&amp;gt;팀 버너스리&amp;lt;/span&amp;gt;가 
    HTML의 원형인 인콰이어를 제안하였다.
&amp;lt;/div&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1000&quot; data-origin-height=&quot;163&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rtjGw/btrF4v6YCLy/TfKRakMJRDR58EJusynkr0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rtjGw/btrF4v6YCLy/TfKRakMJRDR58EJusynkr0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rtjGw/btrF4v6YCLy/TfKRakMJRDR58EJusynkr0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrtjGw%2FbtrF4v6YCLy%2FTfKRakMJRDR58EJusynkr0%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;1000&quot; height=&quot;163&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1000&quot; data-origin-height=&quot;163&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;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;커버사진&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;lt;a&amp;nbsp;href=&quot;&lt;a href=&quot;https://www.flaticon.com/kr/free-icons/html-5&amp;quot;&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.flaticon.com/kr/free-icons/html-5&quot;&lt;/a&gt;&amp;nbsp;title=&quot;html&amp;nbsp;5&amp;nbsp;아이콘&quot;&amp;gt;Html&amp;nbsp;5&amp;nbsp;아이콘&amp;nbsp;&amp;nbsp;제작자:&amp;nbsp;Freepik&amp;nbsp;-&amp;nbsp;Flaticon&amp;lt;/a&amp;gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;a href=&quot;https://www.flaticon.com/kr/free-icon/html-5_919827&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.flaticon.com/kr/free-icon/html-5_919827&lt;/a&gt;&lt;/p&gt;</description>
      <category>HTML,CSS</category>
      <author>codeStudy123</author>
      <guid isPermaLink="true">https://javaone.tistory.com/124</guid>
      <comments>https://javaone.tistory.com/124#entry124comment</comments>
      <pubDate>Wed, 29 Jun 2022 21:40:30 +0900</pubDate>
    </item>
    <item>
      <title>[백준] 9733번: 꿀벌_Java</title>
      <link>https://javaone.tistory.com/123</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;제목: 꿀벌&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #7e98b1;&quot;&gt;실버5&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;div&gt;
&lt;div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;문제&lt;/span&gt;&lt;/h2&gt;
&lt;/div&gt;
&lt;div id=&quot;problem_description&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;꿀벌이 하는 일은 다음과 같이 분류할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;휴식(Re), 순찰(Pt), 방청소(Cc), 꽃가루 먹기(Ea), 새끼 돌보기(Tb), 벌집 짓기와 관리(Cm), 외부 활동(Ex)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한 꿀벌이 1시간 동안 한 일이 주어졌을 때, 각각을 몇 번 했고, 비율이 어떻게 되는지 구하는 프로그램을 작성하시오.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;입력&lt;/span&gt;&lt;/h2&gt;
&lt;/div&gt;
&lt;div id=&quot;problem_input&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;입력은 꿀벌이 한 일이 공백과 줄바꿈으로 구분되어서 주어진다. 최대 24개의 일을 한다.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;출력&lt;/span&gt;&lt;/h2&gt;
&lt;/div&gt;
&lt;div id=&quot;problem_output&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각각의 일을 한 횟수와 비율을 공백으로 구분하여 출력한다. 출력은 {Re,Pt,Cc,Ea,Tb,Cm,Ex} 순서대로 하며, 비율은 소수점 둘째 자리까지 출력한다. 주어진 목록에 없는 일은 출력하지 않는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;입력의 마지막 줄에는 &quot;Total &amp;lt;total&amp;gt; 1.00&quot;을 출력하며, &amp;lt;total&amp;gt;은 꿀벌이 한 일의 개수이다.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;예제 입력 1&lt;span&gt;&amp;nbsp;&lt;/span&gt;복사&lt;/h2&gt;
&lt;/div&gt;
&lt;pre id=&quot;sample-input-1&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot;&gt;&lt;code&gt;Cc Pt Pt Re Tb Re Cm Cm Re Pt Pt Re Ea Ea Pt Pt
Pt Re Re Cb Cb Pt Pt Cb&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;예제 출력 1&lt;span&gt;&amp;nbsp;&lt;/span&gt;복사&lt;/h2&gt;
&lt;/div&gt;
&lt;pre id=&quot;sample-output-1&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot;&gt;&lt;code&gt;Re 6 0.25
Pt 9 0.38
Cc 1 0.04
Ea 2 0.08
Tb 1 0.04
Cm 2 0.08
Ex 0 0.00
Total 24 1.00&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt; 어설픈 내 코드&lt;/p&gt;
&lt;pre id=&quot;code_1656048540853&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
	public static void main(String[] args)throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int[] out = new int[7];
		String[] strArr = {&quot;Re&quot;,&quot;Pt&quot;,&quot;Cc&quot;,&quot;Ea&quot;,&quot;Tb&quot;,&quot;Cm&quot;,&quot;Ex&quot;};
		int count=0;
		String stringinput =&quot;&quot;;
		while(stringinput!=null) {
			stringinput=br.readLine();
			if(count&amp;gt;24||stringinput==null||stringinput.equals(&quot;&quot;)){
				break;
			}
			String[] str = stringinput.split(&quot; &quot;);
			count+=str.length;
			
			for (int i = 0; i &amp;lt; str.length; i++) {
				if (str[i].equals(&quot;Re&quot;)) {
					out[0]++;
				} else if (str[i].equals(&quot;Pt&quot;)) {
					out[1]++;
				} else if (str[i].equals(&quot;Cc&quot;)) {
					out[2]++;
				} else if (str[i].equals(&quot;Ea&quot;)) {
					out[3]++;
				} else if (str[i].equals(&quot;Tb&quot;)) {
					out[4]++;
				} else if (str[i].equals(&quot;Cm&quot;)) {
					out[5]++;
				} else if (str[i].equals(&quot;Ex&quot;)) {
					out[6]++;
				}
			}
		
		}
		
		float totalF=0f;
		for(int i=0; i&amp;lt;7;i++) {
			float f = 0f; 
			if(out[i]!=0) {
				f = (float)((float)out[i]/count);
				totalF+=f;
			}
			System.out.printf(&quot;%s %d %.2f\n&quot;,strArr[i],out[i],f);
		}
		System.out.printf(&quot;Total %d 1.00&quot;,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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/9733&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.acmicpc.net/problem/9733&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1656048581488&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;9733번: 꿀벌&quot; data-og-description=&quot;각각의 일을 한 횟수와 비율을 공백으로 구분하여 출력한다. 출력은 {Re,Pt,Cc,Ea,Tb,Cm,Ex} 순서대로 하며, 비율은 소수점 둘째 자리까지 출력한다. 주어진 목록에 없는 일은 출력하지 않는다. 입력의&quot; data-og-host=&quot;www.acmicpc.net&quot; data-og-source-url=&quot;https://www.acmicpc.net/problem/9733&quot; data-og-url=&quot;https://www.acmicpc.net/problem/9733&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/9733&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.acmicpc.net/problem/9733&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;9733번: 꿀벌&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;각각의 일을 한 횟수와 비율을 공백으로 구분하여 출력한다. 출력은 {Re,Pt,Cc,Ea,Tb,Cm,Ex} 순서대로 하며, 비율은 소수점 둘째 자리까지 출력한다. 주어진 목록에 없는 일은 출력하지 않는다. 입력의&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.acmicpc.net&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>PS/백준</category>
      <category>java</category>
      <category>백준</category>
      <category>백준 알고리즘</category>
      <author>codeStudy123</author>
      <guid isPermaLink="true">https://javaone.tistory.com/123</guid>
      <comments>https://javaone.tistory.com/123#entry123comment</comments>
      <pubDate>Fri, 24 Jun 2022 14:29:45 +0900</pubDate>
    </item>
    <item>
      <title>[백준] 4948번: 베르트랑 공준_Java</title>
      <link>https://javaone.tistory.com/121</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;제목: 베르트랑 공준&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #7e98b1;&quot;&gt;실버2&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;div&gt;
&lt;div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;문제&lt;/h2&gt;
&lt;/div&gt;
&lt;div id=&quot;problem_description&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 체비쇼프가 1850년에 증명했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어, 10보다 크고, 20보다 작거나 같은 소수는 4개가 있다. (11, 13, 17, 19) 또, 14보다 크고, 28보다 작거나 같은 소수는 3개가 있다. (17,19, 23)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자연수 n이 주어졌을 때, n보다 크고, 2n보다 작거나 같은 소수의 개수를 구하는 프로그램을 작성하시오.&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;입력&lt;/h2&gt;
&lt;/div&gt;
&lt;div id=&quot;problem_input&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 케이스는 n을 포함하는 한 줄로 이루어져 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;입력의 마지막에는 0이 주어진다.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;출력&lt;/h2&gt;
&lt;/div&gt;
&lt;div id=&quot;problem_output&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각 테스트 케이스에 대해서, n보다 크고, 2n보다 작거나 같은 소수의 개수를 출력한다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;예제 입력 1&lt;/p&gt;
&lt;/div&gt;
&lt;pre id=&quot;sample-output-1&quot; class=&quot;angelscript&quot;&gt;&lt;code&gt;1
4
3
21
135
1033
8392&lt;/code&gt;&lt;/pre&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;예제 출력 1&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;pre id=&quot;sample-input-1&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot;&gt;&lt;code&gt;1 10 13 100 1000 10000 100000 0&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;  코드&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1652274074703&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.io.*;

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

		while (true) {
			int N = Integer.parseInt(br.readLine());
			if (N == 0)
				break;
			System.out.println(primeNumberMethod(N));
		}
	}

	static int primeNumberMethod(int N) {
		boolean[] b = new boolean[N * 2 + 1];
		b[0] = false;
		b[1] = false;
		for (int i = 2; i &amp;lt;=Math.sqrt(2 * N + 1); i++) {
			for (int j = i * i; j &amp;lt; 2 * N + 1; j += i) {
				b[j] = true;
			}
		}
		int count = 0;
		for (int i = N + 1; i &amp;lt; b.length; i++) {
			if (!b[i])
				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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;알고리즘 분류&lt;/p&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/tag/124&quot;&gt;수학&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/tag/95&quot;&gt;정수론&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/tag/9&quot;&gt;소수 판정&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/tag/67&quot;&gt;에라토스테네스의 체&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/4948&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.acmicpc.net/problem/4948&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1652274101062&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;4948번: 베르트랑 공준&quot; data-og-description=&quot;베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다. 이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 체비쇼&quot; data-og-host=&quot;www.acmicpc.net&quot; data-og-source-url=&quot;https://www.acmicpc.net/problem/4948&quot; data-og-url=&quot;https://www.acmicpc.net/problem/4948&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/KgbbW/hyOmuESfdY/FK3o9Y7rwWEGJ6VlrJdlRk/img.png?width=2834&amp;amp;height=1480&amp;amp;face=0_0_2834_1480&quot;&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/4948&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.acmicpc.net/problem/4948&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/KgbbW/hyOmuESfdY/FK3o9Y7rwWEGJ6VlrJdlRk/img.png?width=2834&amp;amp;height=1480&amp;amp;face=0_0_2834_1480');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;4948번: 베르트랑 공준&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다. 이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 체비쇼&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.acmicpc.net&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>PS/백준</category>
      <author>codeStudy123</author>
      <guid isPermaLink="true">https://javaone.tistory.com/121</guid>
      <comments>https://javaone.tistory.com/121#entry121comment</comments>
      <pubDate>Wed, 11 May 2022 22:01:55 +0900</pubDate>
    </item>
  </channel>
</rss>