<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>ideas0123 님의 블로그</title>
    <link>https://ideas0123.tistory.com/</link>
    <description>ideas0123 님의 블로그 입니다.</description>
    <language>ko</language>
    <pubDate>Sun, 5 Apr 2026 20:45:32 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>ideas0123</managingEditor>
    <image>
      <title>ideas0123 님의 블로그</title>
      <url>https://tistory1.daumcdn.net/tistory/7271826/attach/fd5b9da7333447c4895b669b8fd89688</url>
      <link>https://ideas0123.tistory.com</link>
    </image>
    <item>
      <title>slice</title>
      <link>https://ideas0123.tistory.com/59</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;JavaScript의 slice 메서드는 &lt;b&gt;문자열&lt;/b&gt;과 &lt;b&gt;배열&lt;/b&gt;에서 부분을 추출하기 위해 사용됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;slice는 원본 데이터는 변경하지 않고, 새로 잘라낸 데이터(문자열 또는 배열)를 반환합니다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;문자열에서 slice&lt;/b&gt;&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;문법&lt;/h4&gt;
&lt;div&gt;
&lt;div&gt;
&lt;pre id=&quot;code_1733382811101&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;string.slice(startIndex, endIndex)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&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;b&gt;startIndex&lt;/b&gt;: 추출을 시작할 인덱스 (0부터 시작).&lt;/li&gt;
&lt;li&gt;&lt;b&gt;endIndex&lt;/b&gt;: (옵션) 추출을 끝낼 인덱스 (이 인덱스는 포함되지 않음). 생략하면 문자열 끝까지 추출.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;특징&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;음수를 사용할 경우, 문자열의 끝에서부터 계산.&lt;/li&gt;
&lt;li&gt;원본 문자열은 변경되지 않음.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;예제&lt;/h4&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;pre id=&quot;code_1733382907092&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;const text = &quot;JavaScript is awesome&quot;;

console.log(text.slice(0, 10)); // &quot;JavaScript&quot; (0번째부터 9번째까지) 
console.log(text.slice(11)); // &quot;is awesome&quot; (11번째부터 끝까지) 
console.log(text.slice(-7)); // &quot;awesome&quot; (뒤에서 7번째부터 끝까지)
console.log(text.slice(4, -3)); // &quot;Script is awes&quot; (4번째부터 뒤에서 3번째 이전까지)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;배열에서 slice&lt;/b&gt;&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;문법&lt;/h4&gt;
&lt;pre id=&quot;code_1733382933922&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;array.slice(startIndex, endIndex)&lt;/code&gt;&lt;/pre&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;startIndex&lt;/b&gt;: 추출을 시작할 인덱스 (0부터 시작).&lt;/li&gt;
&lt;li&gt;&lt;b&gt;endIndex&lt;/b&gt;: (옵션) 추출을 끝낼 인덱스 (이 인덱스는 포함되지 않음). 생략하면 배열 끝까지 추출.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;특징&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;새로운 배열을 반환하며, 원본 배열은 변경되지 않음.&lt;/li&gt;
&lt;li&gt;음수를 사용할 경우, 배열 끝에서부터 계산.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;예제&lt;/h4&gt;
&lt;div&gt;
&lt;div&gt;
&lt;pre id=&quot;code_1733382958031&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;const numbers = [10, 20, 30, 40, 50]; 

console.log(numbers.slice(1, 3)); // [20, 30] (1번째부터 2번째까지) 
console.log(numbers.slice(2)); // [30, 40, 50] (2번째부터 끝까지) 
console.log(numbers.slice(-2)); // [40, 50] (뒤에서 2번째부터 끝까지) 
console.log(numbers.slice(1, -1));// [20, 30, 40] (1번째부터 뒤에서 1번째 이전까지)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;차이점: slice vs substring&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;slice와 substring은 비슷하게 문자열을 추출하지만, 몇 가지 차이가 있습니다:
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;음수 사용 가능 여부&lt;/b&gt;:
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;slice: 음수 사용 가능.&lt;/li&gt;
&lt;li&gt;substring: 음수 사용 시, 음수는 0으로 간주.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;매개변수 순서&lt;/b&gt;:
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;slice: startIndex가 endIndex보다 클 경우 빈 문자열 반환.&lt;/li&gt;
&lt;li&gt;substring: startIndex와 endIndex가 뒤바뀌면 자동으로 순서를 교환.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;활용 사례&lt;/b&gt;&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;1. 문자열 조작&lt;/h4&gt;
&lt;div&gt;
&lt;div&gt;
&lt;pre id=&quot;code_1733383050472&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;const fileName = &quot;document.pdf&quot;;
const nameOnly = fileName.slice(0, fileName.lastIndexOf(&quot;.&quot;)); // &quot;document&quot; 
const extension = fileName.slice(fileName.lastIndexOf(&quot;.&quot;) + 1); // &quot;pdf&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;2. 배열 복사&lt;/h4&gt;
&lt;div&gt;
&lt;div&gt;
&lt;pre id=&quot;code_1733383071253&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;const arr = [1, 2, 3, 4, 5]; 

const copy = arr.slice(); // [1, 2, 3, 4, 5]&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;3. 배열 분할&lt;/h4&gt;
&lt;div&gt;
&lt;div&gt;
&lt;pre id=&quot;code_1733383094507&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;const items = [1, 2, 3, 4, 5]; 

const firstHalf = items.slice(0, items.length / 2); // [1, 2] 
const secondHalf = items.slice(items.length / 2); // [3, 4, 5]&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;slice는 매우 강력한 도구로 문자열과 배열의 부분 추출에 널리 사용됩니다. 사용 목적에 맞게 적절히 활용하면 효율적인 코드를 작성할 수 있습니다!&lt;/p&gt;</description>
      <category>JAVA공부</category>
      <author>ideas0123</author>
      <guid isPermaLink="true">https://ideas0123.tistory.com/59</guid>
      <comments>https://ideas0123.tistory.com/59#entry59comment</comments>
      <pubDate>Thu, 5 Dec 2024 16:31:46 +0900</pubDate>
    </item>
    <item>
      <title>문자열 반복 출력</title>
      <link>https://ideas0123.tistory.com/58</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;출력하는 방법은 4가지있는데 출력되는 형식이 다르기 때문에 그때그때 맞게 사용하면 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. for 반복문&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: left;&quot;&gt;반복 횟수에 비례하여 메모리 사용량이 증가, &lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: left;&quot;&gt;메모리 부족으로 인해 성능이 저하될 수 있음.&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;javascript&quot; style=&quot;color: #000000; text-align: left;&quot; data-ke-language=&quot;javascript&quot;&gt;&lt;code&gt;for(var i=0; i&amp;lt;n; i++){
    console.log(str)
} &lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2. repeat( )&lt;span&gt;&amp;nbsp;&lt;/span&gt;메소드 사용&lt;/b&gt;&lt;/p&gt;
&lt;pre class=&quot;applescript&quot; style=&quot;color: #000000; text-align: left;&quot;&gt;&lt;code&gt;console.log(str.repeat(n)) &lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: left;&quot;&gt;&lt;b&gt;3.&lt;/b&gt; &lt;b&gt;Array.join()&lt;span&gt;&amp;nbsp;&lt;/span&gt;메소드 사용&lt;/b&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: left;&quot;&gt;Array 생성과 join() 메소드 호출 과정에서 오버헤드가 발생할 수 있음.&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;processing&quot; style=&quot;color: #000000; text-align: left;&quot;&gt;&lt;code&gt;console.log(Array(n + 1).join(str))&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;str&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;str&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;str&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;&lt;b&gt;4. &amp;nbsp;process.stdout.write( )&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: left;&quot;&gt;줄바꿈하지 않기 때문에, 메모리 사용량을 줄일 수 있음.&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;javascript&quot; style=&quot;color: #000000; text-align: left;&quot; data-ke-language=&quot;javascript&quot;&gt;&lt;code&gt;for(var i=0; i&amp;lt;n; i++){
    rl.output.write(str);
} &lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;strstrstr&lt;/p&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;b&gt;4&lt;/b&gt; &lt;span style=&quot;color: #9d9d9d;&quot;&gt;&lt;b&gt;process.stdout.write&lt;/b&gt;&lt;/span&gt; &amp;lt;&lt;b&gt;2&lt;/b&gt; &lt;span style=&quot;color: #9d9d9d;&quot;&gt;&lt;b&gt;repeat&lt;/b&gt;&lt;/span&gt; &amp;lt;&lt;b&gt;3&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: left;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;&lt;b&gt;Array.join&lt;/b&gt;&lt;/span&gt; &amp;lt;&lt;b&gt;1&lt;/b&gt; &lt;span style=&quot;color: #9d9d9d;&quot;&gt;&lt;b&gt;for 반복문&lt;/b&gt; &lt;/span&gt;&lt;/p&gt;</description>
      <category>JAVA공부</category>
      <author>ideas0123</author>
      <guid isPermaLink="true">https://ideas0123.tistory.com/58</guid>
      <comments>https://ideas0123.tistory.com/58#entry58comment</comments>
      <pubDate>Mon, 2 Dec 2024 13:03:24 +0900</pubDate>
    </item>
    <item>
      <title>피자 나눠 먹기_Math.ceil</title>
      <link>https://ideas0123.tistory.com/57</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;프로그래머스 문제)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;머쓱이네 피자가게는 피자를 일곱 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;n이 주어질 때, 모든 사람이 피자를 한 조각 이상 먹기 위해 필요한 피자의 수를 return 하는 solution 함수를 완성해보세요.&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;&lt;span style=&quot;color: #000000;&quot;&gt;제한사항&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;1 &amp;le;&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;&amp;le; 100&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1732862296699&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;function solution(n) {
    var pizza = 7;
    var answer = Math.ceil(n / pizza); // 올림하여 필요한 피자 판 수 계산
    return answer;
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나눗셈 후 올림을 할 예정이라면 &lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&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;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;주의&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Math.ceil은 항상&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;올림 방향&lt;/b&gt;으로만 작동합니다. 입력 값이 음수일 경우에도&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;큰 정수&lt;/b&gt;로 올림하기 때문에 결과는 절대값이 작아집니다. 예:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;span&gt;Math.ceil(&amp;minus;4.8)=&amp;minus;4\text{Math.ceil}(-4.8) = -4&lt;/span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Math.ceil&lt;/span&gt;&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&amp;minus;&lt;/span&gt;&lt;span&gt;4.8&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;minus;&lt;/span&gt;&lt;span&gt;4&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Math.ceil은 필요한 수량이나 페이지 수를 계산할 때 유용하게 사용됩니다!&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;&lt;b&gt;Math.ceil vs 다른 메서드&lt;/b&gt;&lt;/h3&gt;
&lt;table style=&quot;border-collapse: collapse; width: 70.4651%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style6&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 13.8111%; text-align: center;&quot;&gt;메서드&lt;/td&gt;
&lt;td style=&quot;width: 28.8736%; text-align: center;&quot;&gt;설명&lt;/td&gt;
&lt;td style=&quot;width: 14.0611%; text-align: center;&quot;&gt;예: 입력값 4.2&lt;/td&gt;
&lt;td style=&quot;width: 14.6875%; text-align: center;&quot;&gt;예: 입력값 -4.2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 13.8111%; text-align: center;&quot;&gt;Math.ceil&lt;/td&gt;
&lt;td style=&quot;width: 28.8736%; text-align: left;&quot;&gt;&lt;b&gt;올림&lt;/b&gt;: 가장 큰 정수로 반올림&lt;/td&gt;
&lt;td style=&quot;width: 14.0611%; text-align: center;&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;width: 14.6875%; text-align: center;&quot;&gt;-4&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 13.8111%; text-align: center;&quot;&gt;Math.floor&lt;/td&gt;
&lt;td style=&quot;width: 28.8736%; text-align: left;&quot;&gt;&lt;b&gt;내림&lt;/b&gt;: 가장 작은 정수로 반올림&lt;/td&gt;
&lt;td style=&quot;width: 14.0611%; text-align: center;&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;width: 14.6875%; text-align: center;&quot;&gt;-5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 13.8111%; text-align: center;&quot;&gt;Math.round&lt;/td&gt;
&lt;td style=&quot;width: 28.8736%; text-align: left;&quot;&gt;&lt;b&gt;반올림&lt;/b&gt;: 소수점 0.5 이상은 올림&lt;/td&gt;
&lt;td style=&quot;width: 14.0611%; text-align: center;&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;width: 14.6875%; text-align: center;&quot;&gt;-4&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 13.8111%; text-align: center;&quot;&gt;Math.trunc&lt;/td&gt;
&lt;td style=&quot;width: 28.8736%; text-align: left;&quot;&gt;&lt;b&gt;버림&lt;/b&gt;: 소수점 부분을 제거&lt;/td&gt;
&lt;td style=&quot;width: 14.0611%; text-align: center;&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;width: 14.6875%; text-align: center;&quot;&gt;-4&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;</description>
      <category>JAVA공부</category>
      <author>ideas0123</author>
      <guid isPermaLink="true">https://ideas0123.tistory.com/57</guid>
      <comments>https://ideas0123.tistory.com/57#entry57comment</comments>
      <pubDate>Fri, 29 Nov 2024 15:45:10 +0900</pubDate>
    </item>
    <item>
      <title>MySQL</title>
      <link>https://ideas0123.tistory.com/55</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;Node.js에서 MySQL을 사용하기 위해 가장 먼저 만들어진 패키지입니다. 간단한 인터페이스와 다양한 기능을 제공하며, 현재도 많이 사용되고 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&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;&lt;b&gt;특징&lt;/b&gt;:
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;연결&lt;/b&gt;:
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;동기화된 단일 연결을 지원하거나 연결 풀(pool)을 사용할 수 있음.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;콜백 기반&lt;/b&gt;:
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;비동기 작업을 콜백(callback) 패턴으로 처리.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;속도&lt;/b&gt;:
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;MySQL2보다 약간 느리다는 평이 있음(대규모 쿼리 처리 시).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;기능&lt;/b&gt;:
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기본적인 MySQL 기능을 지원(쿼리 실행, 연결 관리, 트랜잭션).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;기능 제한&lt;/b&gt;:
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;최신 MySQL 기능이나 향상된 데이터 처리 방식은 부족.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;장점&lt;/b&gt;:
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;간단하고, 작은 규모의 애플리케이션에 적합.&lt;/li&gt;
&lt;li&gt;안정적인 버전과 많은 사용자 기반.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;단점&lt;/b&gt;:
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;최신 ES6(예: async/await)와 잘 어울리지 않음.&lt;/li&gt;
&lt;li&gt;최신 MySQL 기능 지원 부족.&lt;/li&gt;
&lt;/ul&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;</description>
      <category>JAVA공부</category>
      <category>오블완</category>
      <category>티스토리챌린지</category>
      <author>ideas0123</author>
      <guid isPermaLink="true">https://ideas0123.tistory.com/55</guid>
      <comments>https://ideas0123.tistory.com/55#entry55comment</comments>
      <pubDate>Wed, 27 Nov 2024 16:45:21 +0900</pubDate>
    </item>
    <item>
      <title>MyBatis / ORM(JPA) / RDBMS 비교</title>
      <link>https://ideas0123.tistory.com/54</link>
      <description>&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;style7&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 15.2326%; text-align: left;&quot;&gt;&lt;b&gt;항목&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 31.5116%; text-align: center;&quot;&gt;&lt;b&gt;MyBatis&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 23.2558%; text-align: center;&quot;&gt;&lt;b&gt;ORM(JPA)&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 30%; text-align: center;&quot;&gt;&lt;b&gt;RDBMS&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 15.2326%;&quot;&gt;&lt;b&gt;목적&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 31.5116%;&quot;&gt;SQL 매핑 중심&lt;/td&gt;
&lt;td style=&quot;width: 23.2558%;&quot;&gt;객체-테이블 매핑&lt;/td&gt;
&lt;td style=&quot;width: 30%;&quot;&gt;데이터 저장 및 관리 시스템&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 15.2326%;&quot;&gt;&lt;b&gt;SQL 사용 여부&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 31.5116%;&quot;&gt;명시적으로 사용&lt;/td&gt;
&lt;td style=&quot;width: 23.2558%;&quot;&gt;자동화되어 최소화&lt;/td&gt;
&lt;td style=&quot;width: 30%;&quot;&gt;SQL 필요&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 15.2326%;&quot;&gt;&lt;b&gt;유연성&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 31.5116%;&quot;&gt;높은 SQL 유연성&lt;/td&gt;
&lt;td style=&quot;width: 23.2558%;&quot;&gt;복잡한 SQL에는 제약&lt;/td&gt;
&lt;td style=&quot;width: 30%;&quot;&gt;SQL 표준으로 범용 사용 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 15.2326%;&quot;&gt;&lt;b&gt;학습 곡선&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 31.5116%;&quot;&gt;비교적 낮음&lt;/td&gt;
&lt;td style=&quot;width: 23.2558%;&quot;&gt;높음&lt;/td&gt;
&lt;td style=&quot;width: 30%;&quot;&gt;데이터베이스별로 다름&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 15.2326%;&quot;&gt;&lt;b&gt;대표 사용 사례&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 31.5116%;&quot;&gt;복잡한 쿼리나 DB 의존적인 프로젝트&lt;/td&gt;
&lt;td style=&quot;width: 23.2558%;&quot;&gt;객체 중심의 애플리케이션&lt;/td&gt;
&lt;td style=&quot;width: 30%;&quot;&gt;모든 데이터베이스 기반 프로젝트&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;결론&lt;/b&gt;:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;MyBatis&lt;/b&gt;는 복잡한 SQL과 DB 중심의 작업에 적합.&lt;/li&gt;
&lt;li&gt;**ORM(JPA)**는 객체지향적인 설계와 간단한 CRUD 중심의 애플리케이션에 적합.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;RDBMS&lt;/b&gt;는 데이터베이스 자체로, 둘 모두 이 위에서 작동. 선택은 프로젝트 성격에 따라 결정됩니다.&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>JAVA공부</category>
      <category>오블완</category>
      <category>티스토리챌린지</category>
      <author>ideas0123</author>
      <guid isPermaLink="true">https://ideas0123.tistory.com/54</guid>
      <comments>https://ideas0123.tistory.com/54#entry54comment</comments>
      <pubDate>Tue, 26 Nov 2024 13:46:55 +0900</pubDate>
    </item>
    <item>
      <title>RDBMS (Relational Database Management Systems)</title>
      <link>https://ideas0123.tistory.com/53</link>
      <description>&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;RDBMS는&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;데이터를 관계형 모델로 관리&lt;/b&gt;하는 데이터베이스 관리 시스템입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;데이터를 테이블 형태로 저장하며,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;**SQL(Structured Query Language)**을 사용해 데이터를 조작합니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;대표적인 RDBMS&lt;/b&gt;:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Oracle&lt;/b&gt;: 강력한 성능과 확장성을 제공하며, 대규모 엔터프라이즈 환경에 적합.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;MySQL&lt;/b&gt;: 오픈소스 기반으로, 비교적 가볍고 빠르며 웹 애플리케이션에서 많이 사용됨.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;PostgreSQL&lt;/b&gt;: 객체-관계형 데이터베이스로, 확장성과 표준 준수에 강점.&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;RDBMS의 주요 특징&lt;/b&gt;:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;데이터 무결성&lt;/b&gt;: 제약조건과 트랜잭션으로 데이터의 일관성 유지.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;SQL 표준 지원&lt;/b&gt;: 데이터를 질의, 삽입, 수정, 삭제할 수 있는 언어 제공.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;스키마 기반&lt;/b&gt;: 데이터 구조가 명확히 정의된 스키마 사용.&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>JAVA공부</category>
      <category>오블완</category>
      <category>티스토리챌린지</category>
      <author>ideas0123</author>
      <guid isPermaLink="true">https://ideas0123.tistory.com/53</guid>
      <comments>https://ideas0123.tistory.com/53#entry53comment</comments>
      <pubDate>Mon, 25 Nov 2024 00:03:17 +0900</pubDate>
    </item>
    <item>
      <title>ORM (Object-Relational Mapping) - JPA</title>
      <link>https://ideas0123.tistory.com/52</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;ORM은 데이터베이스의 테이블을 객체지향적으로 매핑하여, &lt;b&gt;SQL을 직접 작성하지 않고도 데이터베이스와 상호작용&lt;/b&gt;할 수 있게 해주는 기법입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;**JPA (Java Persistence API)**는 자바의 ORM 표준 스펙으로, Hibernate 같은 구현체를 통해 사용됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;특징&lt;/b&gt;:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;객체 중심 개발&lt;/b&gt;: SQL 대신 객체를 통해 데이터베이스 작업을 처리.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;추상화&lt;/b&gt;: 테이블 대신 엔티티 객체로 데이터 관리.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;자동화&lt;/b&gt;: CRUD 작업을 위한 기본 SQL을 자동 생성.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;장점&lt;/b&gt;:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;SQL 작성이 불필요해 생산성이 높아짐.&lt;/li&gt;
&lt;li&gt;객체 중심의 개발로 가독성과 유지보수성이 높아짐.&lt;/li&gt;
&lt;li&gt;DBMS 변경에 유연함.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;단점&lt;/b&gt;:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;복잡한 SQL 쿼리에 비해 성능이 다소 떨어질 수 있음.&lt;/li&gt;
&lt;li&gt;초기 학습 곡선이 높음.&lt;/li&gt;
&lt;li&gt;DB 성능 최적화가 어려운 경우가 있음.&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>JAVA공부</category>
      <category>오블완</category>
      <category>티스토리챌린지</category>
      <author>ideas0123</author>
      <guid isPermaLink="true">https://ideas0123.tistory.com/52</guid>
      <comments>https://ideas0123.tistory.com/52#entry52comment</comments>
      <pubDate>Sun, 24 Nov 2024 13:29:06 +0900</pubDate>
    </item>
    <item>
      <title>MyBatis</title>
      <link>https://ideas0123.tistory.com/51</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;MyBatis는 자바 기반의 &lt;b&gt;SQL 매퍼 프레임워크&lt;/b&gt;로,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SQL 쿼리를 XML이나 애노테이션으로 관리하며&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;데이터베이스와 자바 객체 간의 매핑을 처리합니다.&lt;br /&gt;ORM보다는 SQL을 개발자가 명시적으로 작성하고, 복잡한 쿼리 작업에 유리합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;특징&lt;/b&gt;:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;SQL 중심 개발&lt;/b&gt;: SQL을 XML 파일 또는 애노테이션으로 정의하여 데이터베이스와의 직접적인 상호작용 가능.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;자동 매핑&lt;/b&gt;: SQL 결과를 자바 객체와 매핑해주는 기능.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;유연성&lt;/b&gt;: 복잡한 쿼리 작성 및 DB별 최적화에 유리.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;명확성&lt;/b&gt;: SQL이 명시적으로 보이므로 쿼리를 추적하고 디버깅하기 쉬움.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;장점&lt;/b&gt;:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;복잡한 SQL 작성이 자유로움.&lt;/li&gt;
&lt;li&gt;SQL 최적화가 쉬움.&lt;/li&gt;
&lt;li&gt;데이터베이스 의존적인 애플리케이션에 적합.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;단점&lt;/b&gt;:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;SQL을 수동으로 작성해야 하므로 생산성이 ORM에 비해 낮을 수 있음.&lt;/li&gt;
&lt;li&gt;SQL 관리가 복잡해질 수 있음.&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>JAVA공부</category>
      <category>오블완</category>
      <category>티스토리챌린지</category>
      <author>ideas0123</author>
      <guid isPermaLink="true">https://ideas0123.tistory.com/51</guid>
      <comments>https://ideas0123.tistory.com/51#entry51comment</comments>
      <pubDate>Sat, 23 Nov 2024 22:02:03 +0900</pubDate>
    </item>
    <item>
      <title>문자열 출력하기</title>
      <link>https://ideas0123.tistory.com/50</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;프로그래머스 문제)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;span style=&quot;text-align: left;&quot;&gt;문자열&amp;nbsp;&lt;/span&gt;str&lt;span style=&quot;text-align: left;&quot;&gt;이 주어질 때,&amp;nbsp;&lt;/span&gt;str&lt;span style=&quot;text-align: left;&quot;&gt;을 출력하는 코드를 작성해 보세요.&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;제한사항&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;1 &amp;le;&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;str의 길이 &amp;le; 1,000,000&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000; letter-spacing: 0px;&quot;&gt;str에는 공백이 없으며, 첫째 줄에 한 줄로만 주어집니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000; letter-spacing: 0px;&quot;&gt;//readline&amp;nbsp;모듈을&amp;nbsp;불러옴 &lt;br /&gt;//readline&amp;nbsp;모듈은&amp;nbsp;Node.js에서&amp;nbsp;콘솔을&amp;nbsp;통해&amp;nbsp;입력을&amp;nbsp;받을&amp;nbsp;때&amp;nbsp;사용 &lt;br /&gt;const&amp;nbsp;readline&amp;nbsp;=&amp;nbsp;require('readline'); &lt;br /&gt;&lt;br /&gt;//readline&amp;nbsp;인터페이스를&amp;nbsp;생성 &lt;br /&gt;//입력과&amp;nbsp;출력을&amp;nbsp;설정하여&amp;nbsp;콘솔에서&amp;nbsp;데이터를&amp;nbsp;받을&amp;nbsp;수&amp;nbsp;있도록&amp;nbsp;함 &lt;br /&gt;const&amp;nbsp;rl&amp;nbsp;=&amp;nbsp;readline.createInterface({ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;input:&amp;nbsp;process.stdin,&amp;nbsp;&amp;nbsp;//&amp;nbsp;표준&amp;nbsp;입력(콘솔&amp;nbsp;입력)을&amp;nbsp;통해&amp;nbsp;데이터를&amp;nbsp;받음 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;output:&amp;nbsp;process.stdout&amp;nbsp;//&amp;nbsp;표준&amp;nbsp;출력(콘솔&amp;nbsp;출력)을&amp;nbsp;통해&amp;nbsp;데이터를&amp;nbsp;출력 &lt;br /&gt;}); &lt;br /&gt;&lt;br /&gt;//나중에&amp;nbsp;입력받은&amp;nbsp;데이터를&amp;nbsp;저장하는&amp;nbsp;데&amp;nbsp;사용됩니다. &lt;br /&gt;let&amp;nbsp;input&amp;nbsp;=&amp;nbsp;[]; &lt;br /&gt;&lt;br /&gt;//'line'&amp;nbsp;이벤트를&amp;nbsp;설정 &lt;br /&gt;//사용자가&amp;nbsp;입력한&amp;nbsp;한&amp;nbsp;줄의&amp;nbsp;데이터가&amp;nbsp;들어오면&amp;nbsp;이&amp;nbsp;함수가&amp;nbsp;실행 &lt;br /&gt;rl.on('line',&amp;nbsp;function&amp;nbsp;(line)&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;input&amp;nbsp;=&amp;nbsp;[line];&amp;nbsp;//입력&amp;nbsp;받은&amp;nbsp;한&amp;nbsp;줄(line)을&amp;nbsp;input&amp;nbsp;배열에&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;유지 &lt;br /&gt;}).on('close',&amp;nbsp;function()&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//'close'&amp;nbsp;이벤트는&amp;nbsp;입력&amp;nbsp;스트림이&amp;nbsp;닫혔을&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;있습니다. &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;str&amp;nbsp;=&amp;nbsp;input[0];&amp;nbsp;//입력받은&amp;nbsp;첫&amp;nbsp;번째&amp;nbsp;줄을&amp;nbsp;변수&amp;nbsp;str에&amp;nbsp;저장 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//이&amp;nbsp;후에&amp;nbsp;str을&amp;nbsp;사용하여&amp;nbsp;원하는&amp;nbsp;처리를&amp;nbsp;할&amp;nbsp;수&amp;nbsp;있습니다. &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;console.log(str); &lt;br /&gt;}); &lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
      <category>JAVA공부</category>
      <category>오블완</category>
      <category>티스토리챌린지</category>
      <author>ideas0123</author>
      <guid isPermaLink="true">https://ideas0123.tistory.com/50</guid>
      <comments>https://ideas0123.tistory.com/50#entry50comment</comments>
      <pubDate>Fri, 22 Nov 2024 14:48:29 +0900</pubDate>
    </item>
    <item>
      <title>최빈값 구하기</title>
      <link>https://ideas0123.tistory.com/49</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;프로그래머스 문제)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;최빈값은 주어진 값 중에서 가장 자주 나오는 값을 의미합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정수 배열&lt;span&gt;&amp;nbsp;&lt;/span&gt;array가 매개변수로 주어질 때, 최빈값을 return 하도록 solution 함수를 완성해보세요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;최빈값이 여러 개면 -1을 return 합니다.&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;제한사항&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;0 &amp;lt;&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;array의 길이 &amp;lt; 100&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000; letter-spacing: 0px;&quot;&gt;0&amp;nbsp;&amp;le;&amp;nbsp;array의 원소 &amp;lt; 1000&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1732176175758&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;function solution(array) {
    var answer = 0;
    var count=new Map();
    var result_array=[];//최빈값넣을 array
    var max=0;
    
    for(let i of array){
        if(!count.has(i)){//i값이 없다면 count=0        
            count.set(i, 0);
        }else if(count.has(i)){//i 값이 있다면, 있던 값에 count+1
            count.set(i, count.get(i)+1)
            while(count.get(i)&amp;gt;max){
                max++;
            }
        }
    }
    
    for(let [k, v] of count){
        if(v==max){
            result_array.push(k);//key값 주입
        }
    }
    
    answer = result_array.length==1? result_array[0]:-1;
    
    return answer;
}&lt;/code&gt;&lt;/pre&gt;</description>
      <category>JAVA공부</category>
      <category>오블완</category>
      <category>티스토리챌린지</category>
      <author>ideas0123</author>
      <guid isPermaLink="true">https://ideas0123.tistory.com/49</guid>
      <comments>https://ideas0123.tistory.com/49#entry49comment</comments>
      <pubDate>Thu, 21 Nov 2024 17:05:00 +0900</pubDate>
    </item>
  </channel>
</rss>