<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>broccoli_soup.log</title>
        <link>https://velog.io/</link>
        <description></description>
        <lastBuildDate>Tue, 21 Jan 2025 05:37:48 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <copyright>Copyright (C) 2019. broccoli_soup.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/broccoli_soup" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[자료형 심화]]></title>
            <link>https://velog.io/@broccoli_soup/%EC%9E%90%EB%A3%8C%ED%98%95-%EC%8B%AC%ED%99%94</link>
            <guid>https://velog.io/@broccoli_soup/%EC%9E%90%EB%A3%8C%ED%98%95-%EC%8B%AC%ED%99%94</guid>
            <pubDate>Tue, 21 Jan 2025 05:37:48 GMT</pubDate>
            <description><![CDATA[<p>예시1</p>
<pre><code class="language-javascript">let lyrics = &quot;[재석]너에게 나 하고 싶었던 말 고마워 미안해 함께 있어서 할 수 있어서 웃을 수 있어[준하] 정말 고마웠어 내 손을 놓지 않아줘서 힘을 내볼게 함께 있다면 두렵지 않아[홍철] 내가 늘 웃으니까 내가 우습나 봐 하지만 웃을 거야 날 보고 웃는 너 좋아[명수] 자꾸만 도망치고 싶은데 저 화려한 큰 무대 위에 설 수 있을까? 자신 없어..[하하] 지금까지 걸어온 이 길을 의심하지는 마 잘못 든 길이 때론 지도를 만들었잖아[형돈] 혼자 걷는 이 길이 막막하겠지만 느리게 걷는 거야 천천히 도착해도 돼[길] 술 한 잔 하자는 친구의 말도 의미 없는 인사처럼 슬프게 들릴 때 날 찾아와&quot;;

let hyungdon = null;

// 여기에 코드를 작성하세요
let startIndex = lyrics.indexOf(&#39;[형돈]&#39;);
let endIndex = lyrics.indexOf(&#39;[길]&#39;)
hyungdon = lyrics.slice(startIndex, endIndex)

// 테스트 코드
console.log(hyungdon);</code></pre>
<p>결과 1</p>
<pre><code>[형돈] 혼자 걷는 이 길이 막막하겠지만 느리게 걷는 거야 천천히 도착해도 돼</code></pre>]]></description>
        </item>
        <item>
            <title><![CDATA[배열 메소드]]></title>
            <link>https://velog.io/@broccoli_soup/%EB%B0%B0%EC%97%B4-%EB%A9%94%EC%86%8C%EB%93%9C</link>
            <guid>https://velog.io/@broccoli_soup/%EB%B0%B0%EC%97%B4-%EB%A9%94%EC%86%8C%EB%93%9C</guid>
            <pubDate>Mon, 20 Jan 2025 09:56:20 GMT</pubDate>
            <description><![CDATA[<p>예시 1</p>
<pre><code class="language-javascript">// 배열 메소드(Array&#39;s Method)
let members = [&#39;당근&#39;, &#39;사과&#39;, &#39;수박&#39;, &#39;토마토&#39;, &#39;오렌지&#39;];
console.log(members);

//배열의 첫 요소를 삭제: shift()
members.shift();
console.log(members);

//배열의 마지막 요소를 삭제: pop()
members.pop();
console.log(members);

//배열의 첫 요소로 값 추가: unshift(value)
members.unshift(&#39;감자&#39;)
console.log(members);

//배열의 마지막 요소로 값 추가: push(value)
members.push(&#39;양파&#39;)
console.log(members);</code></pre>
<p>결과 1
<img src="https://velog.velcdn.com/images/broccoli_soup/post/89519997-5174-4177-b43b-ac882964344d/image.png" alt=""></p>
<p>예시2</p>
<pre><code class="language-javascript">let brands = [&#39;Nike&#39;, &#39;Adidas&#39;, &#39;Uniqlo&#39;, &#39;Topten&#39;];

console.log(brands.indexOf(&#39;Adidas&#39;));
console.log(brands.indexOf(&#39;Jaju&#39;));</code></pre>
<p>결과2</p>
<pre><code>1
-1</code></pre><p>예시3</p>
<pre><code class="language-javascript">let brands = [&#39;Nike&#39;, &#39;Adidas&#39;, &#39;Uniqlo&#39;, &#39;Topten&#39;];

console.log(brands.lastIndexOf(&#39;Adidas&#39;));
console.log(brands.lastIndexOf(&#39;Jaju&#39;));</code></pre>
<p>결과3</p>
<pre><code>3
-1</code></pre><p>예시4</p>
<pre><code class="language-javascript">let brands = [&#39;Nike&#39;, &#39;Adidas&#39;, &#39;Uniqlo&#39;, &#39;Topten&#39;];

console.log(brands.includes(&#39;Topten&#39;));
console.log(brands.includes(&#39;Jaju&#39;));</code></pre>
<p>결과4</p>
<pre><code>true
false</code></pre><p>예시5</p>
<pre><code class="language-javascript">let brands = [&#39;Nike&#39;, &#39;Adidas&#39;, &#39;Uniqlo&#39;, &#39;Topten&#39;];
console.log(brands);

brands.reverse();
console.log(brands);</code></pre>
<p>결과5</p>
<pre><code>(4) [&quot;Nike&quot;, &quot;Adidas&quot;, &quot;Uniqlo&quot;, &quot;Topten&quot;]
(4) [&quot;Topten&quot;, &quot;Uniqlo&quot;, &quot;Adidas&quot;, &quot;Nike&quot;]</code></pre>]]></description>
        </item>
        <item>
            <title><![CDATA[Splice (배열 메소드)]]></title>
            <link>https://velog.io/@broccoli_soup/Splice-%EB%B0%B0%EC%97%B4-%EB%A9%94%EC%86%8C%EB%93%9C</link>
            <guid>https://velog.io/@broccoli_soup/Splice-%EB%B0%B0%EC%97%B4-%EB%A9%94%EC%86%8C%EB%93%9C</guid>
            <pubDate>Mon, 20 Jan 2025 09:29:38 GMT</pubDate>
            <description><![CDATA[<p>예시 1</p>
<pre><code class="language-javascript">let fruits = [&#39;레몬&#39;, &#39;토마토&#39;, &#39;딸기&#39;, &#39;바나나&#39;];
let ages = [20, 24, 25, 29, 30, 33];
let numbers = [];

// fruits 배열에 &#39;토마토&#39;를 삭제하고 그 자리에 &#39;사과&#39;, &#39;청포도&#39; 를 추가
fruits.splice(1, 1, &#39;사과&#39;, &#39;청포도&#39;);

// fruits 배열의 첫 번째 요소를 삭제
fruits.splice(0, 1);

// ages 배열에 마지막 요소를 삭제
ages.splice(ages.length - 1, 1);

// ages 배열의 2번, 3번 인덱스를 26, 28로 변경
ages.splice(2, 2, 26, 28);

// numbers 배열에 1, 2, 3, 5, 8, 9를 순서대로 추가
numbers.splice(0, 0, 1, 2, 3, 5, 8, 9);

// 반복문을 활용해서 numbers 배열의 요소들 중 홀수를 모두 삭제
for (let i = 0; i &lt; numbers.length; i++) {
  if(numbers[i] % 2 !== 0) {
    numbers.splice(i, 1)
    i--;
  }
  }

//
console.log(fruits[1]);
console.log(fruits[0]);
console.log(ages[ages.length - 1]);
console.log(ages[3]);
console.log(numbers[3]);
console.log(numbers);</code></pre>
<p>결과 1</p>
<pre><code>청포도
사과
30
28
undefined
[ 2, 8 ]</code></pre>]]></description>
        </item>
        <item>
            <title><![CDATA[배열 (Array), indexing]]></title>
            <link>https://velog.io/@broccoli_soup/%EB%B0%B0%EC%97%B4-Array-indexing</link>
            <guid>https://velog.io/@broccoli_soup/%EB%B0%B0%EC%97%B4-Array-indexing</guid>
            <pubDate>Sun, 19 Jan 2025 14:41:29 GMT</pubDate>
            <description><![CDATA[<p>예시1</p>
<pre><code class="language-javascript">let favoriteFruit = [
  &#39;strawberry&#39;,
  &#39;mango&#39;,
  &#39;cherry&#39;,
  &#39;apple&#39;
];

// indexing (0~...)
console.log(favoriteFruit[3]);
console.log(favoriteFruit[0]);
console.log(favoriteFruit[1 + 1]);</code></pre>
<p>결과1
<img src="https://velog.velcdn.com/images/broccoli_soup/post/7abb72f0-beea-489e-bcef-8615587f812e/image.png" alt=""></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[Date 객체]]></title>
            <link>https://velog.io/@broccoli_soup/Date-%EA%B0%9D%EC%B2%B4</link>
            <guid>https://velog.io/@broccoli_soup/Date-%EA%B0%9D%EC%B2%B4</guid>
            <pubDate>Sun, 19 Jan 2025 14:28:29 GMT</pubDate>
            <description><![CDATA[<p>예시1</p>
<pre><code class="language-javascript">
let today = new Date(2025, 0, 19);
let DOB = new Date(1994, 3, 21);

function ageCalc(startDate) {
  let timeDiff = today.getTime() - startDate.getTime();
  let dayDiff = timeDiff / 1000 /60 / 60 / 24;

  console.log(`오늘은 태어난 지 ${dayDiff +1}일째 되는 날 입니다.`);
}

ageCalc(DOB);</code></pre>
<p>결과 1 
<img src="https://velog.velcdn.com/images/broccoli_soup/post/9d5b5892-021f-436f-b8d7-524679feea5c/image.png" alt=""></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[for...in반복문]]></title>
            <link>https://velog.io/@broccoli_soup/for..in%EB%AC%B8</link>
            <guid>https://velog.io/@broccoli_soup/for..in%EB%AC%B8</guid>
            <pubDate>Sat, 18 Jan 2025 09:41:37 GMT</pubDate>
            <description><![CDATA[<p>예시 1</p>
<pre><code class="language-javascript">let narutoScore = {
    &#39;barrierNinjutsu&#39;: 10,
    &#39;chakraFlow&#39;: 8,
    &#39;cloneTechniques&#39;: 22,
    &#39;kenjutsu&#39;: 5,
    &#39;hiden&#39;: 10,
};

let sakuraScore = {
    &#39;barrierNinjutsu&#39;: 14,
    &#39;chakraFlow&#39;: 25,
    &#39;cloneTechniques&#39;: 10,
    &#39;kenjutsu&#39;: 8,
    &#39;hiden&#39;: 20,
};

function passChecker(scoreObject) {
  let totalScore = 0;
  for(let key in scoreObject) {
    totalScore += scoreObject[key];
  }
    if (totalScore &gt;= 60) {
      console.log(&#39;Good job! You passed.&#39;)
    }
    else {
      console.log(`You don&#39;t belong here. Leave.`)
    }
  }

passChecker(narutoScore);
passChecker(sakuraScore);</code></pre>
<p>결과 1
<img src="https://velog.velcdn.com/images/broccoli_soup/post/bf656f68-c225-4993-9ab3-51b707803e04/image.png" alt=""></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[매소드 (Method)]]></title>
            <link>https://velog.io/@broccoli_soup/%EB%A7%A4%EC%86%8C%EB%93%9C-Method</link>
            <guid>https://velog.io/@broccoli_soup/%EB%A7%A4%EC%86%8C%EB%93%9C-Method</guid>
            <pubDate>Fri, 10 Jan 2025 12:31:32 GMT</pubDate>
            <description><![CDATA[<p>예시 1</p>
<pre><code class="language-javascript">// 매소드 (Method)
let greetings = {
  sayHello: function (name) {
    console.log(`Hello ${name}!`);
  },
  sayHi: function() {
    console.log(&#39;Hi!&#39;);
  },
  sayBye: function() {
    console.log(&#39;Bye!&#39;);
  }
};

greetings.sayHello(&#39;Broccoli Soup&#39;);
greetings[&#39;sayHello&#39;](&#39;Broccoli Soup&#39;);</code></pre>
<p>결과 1</p>
<pre><code>Hello Broccoli Soup!
Hello Broccoli Soup!</code></pre><p>예시 2</p>
<pre><code class="language-javascript">let myVoca = {
  addVoca: function (key, value) {
    myVoca[key] = value;
  },
  deleteVoca: function (key) {
    delete myVoca[key];
  },
  printVoca: function (key) {
    console.log(`&quot;${key}&quot;의 뜻은 &quot;${myVoca[key]}&quot;입니다.`);
  },
};

// addVoca메소드 테스트
myVoca.addVoca(&#39;parameter&#39;, &#39;매개 변수&#39;);
myVoca.addVoca(&#39;element&#39;, &#39;요소&#39;);
myVoca.addVoca(&#39;property&#39;, &#39;속성&#39;);
console.log(myVoca);

// deleteVoca메소드 테스트
myVoca.deleteVoca(&#39;parameter&#39;);
myVoca.deleteVoca(&#39;element&#39;);
console.log(myVoca);

// printVoca메소드 테스트
myVoca.printVoca(&#39;property&#39;);</code></pre>
<p>결과 2</p>
<pre><code>{
  addVoca: [Function: addVoca],
  deleteVoca: [Function: deleteVoca],
  printVoca: [Function: printVoca],
  parameter: &#39;매개 변수&#39;,
  element: &#39;요소&#39;,
  property: &#39;속성&#39;
}
{
  addVoca: [Function: addVoca],
  deleteVoca: [Function: deleteVoca],
  printVoca: [Function: printVoca],
  property: &#39;속성&#39;
}
&quot;property&quot;의 뜻은 &quot;속성&quot;입니다.</code></pre>]]></description>
        </item>
        <item>
            <title><![CDATA[객체]]></title>
            <link>https://velog.io/@broccoli_soup/%EA%B0%9D%EC%B2%B4</link>
            <guid>https://velog.io/@broccoli_soup/%EA%B0%9D%EC%B2%B4</guid>
            <pubDate>Fri, 10 Jan 2025 11:31:06 GMT</pubDate>
            <description><![CDATA[<p>예시 1</p>
<pre><code class="language-javascript">// 객체( Object )
let Naruto = {
  name: &#39;코드잇&#39;,
  &#39;born Month&#39;: &#39;October&#39;,
  isVeryNice: true,
  worstEpisode: null,
  bestFriend: {
    name: &#39;Sasuke&#39;,
    language: &#39;Japanese&#39;
  }
};

// 점 표기법 (objectName.propertyName)
// 대괄호 표기법 (objectName[&#39;propertyName&#39;])
console.log(Naruto[&#39;born Month&#39;]);
console.log(Naruto.bestFriend[&#39;name&#39;]);</code></pre>
<p>결과 1
<img src="https://velog.velcdn.com/images/broccoli_soup/post/41982f04-24c1-42cb-a028-30fbcb6b4ff2/image.png" alt=""></p>
<p>예시2</p>
<pre><code class="language-javascript">let myVoca = {
  // 여기에 코드를 작성하세요
  function: &#39;함수&#39;,
  variable: &#39;변수&#39;,
  constant: &#39;상수&#39;,
  local: &#39;지역의&#39;,
  global: &#39;전반적인&#39;,
};

console.log(myVoca);
console.log(myVoca.local);
console.log(myVoca.constant);
console.log(myVoca.function);</code></pre>
<p>결과</p>
<pre><code>{
  function: &#39;함수&#39;,
  variable: &#39;변수&#39;,
  constant: &#39;상수&#39;,
  local: &#39;지역의&#39;,
  global: &#39;전반적인&#39;
}
지역의
상수
함수</code></pre>]]></description>
        </item>
        <item>
            <title><![CDATA[피보나치수열(for문, while문)]]></title>
            <link>https://velog.io/@broccoli_soup/%ED%94%BC%EB%B3%B4%EB%82%98%EC%B9%98%EC%88%98%EC%97%B4for%EB%AC%B8-while%EB%AC%B8</link>
            <guid>https://velog.io/@broccoli_soup/%ED%94%BC%EB%B3%B4%EB%82%98%EC%B9%98%EC%88%98%EC%97%B4for%EB%AC%B8-while%EB%AC%B8</guid>
            <pubDate>Wed, 08 Jan 2025 14:30:38 GMT</pubDate>
            <description><![CDATA[<p>for statement</p>
<pre><code class="language-javascript">let previous = 0;
let current = 1;

for (let i = 1; i &lt;= 50; i++) {
  console.log(current);
  let temp = previous;  // previous를 임시 보관소 temp에 저장
  previous = current;
  current = current + temp;  // temp에는 기존 previous 값이 저장돼 있음
}</code></pre>
<p>while statement</p>
<pre><code class="language-javascript">let previous = 0;
let current = 1;
let i = 1;

while (i &lt;= 50) {
  console.log(current);
  let temp = previous;  // previous를 임시 보관소 temp에 저장
  previous = current;
  current = current + temp;  // temp에는 기존 previous 값이 저장돼 있음
  i++;
}</code></pre>
<p>결과</p>
<pre><code>1
1
2
3
5

.
.
.
4807526976
7778742049
12586269025</code></pre>]]></description>
        </item>
        <item>
            <title><![CDATA[반복문2 (while statement)]]></title>
            <link>https://velog.io/@broccoli_soup/%EB%B0%98%EB%B3%B5%EB%AC%B82-while-statement</link>
            <guid>https://velog.io/@broccoli_soup/%EB%B0%98%EB%B3%B5%EB%AC%B82-while-statement</guid>
            <pubDate>Wed, 08 Jan 2025 12:27:11 GMT</pubDate>
            <description><![CDATA[<p><strong>while문 (while statement)</strong></p>
<p>기본</p>
<pre><code>while (조건부분) {
  동작부분
}</code></pre><p>예시 1</p>
<pre><code class="language-javascript">let i = 30;

while (i % 7 !== 0) {
  i++;
}

console.log(i);</code></pre>
<p>결과 1</p>
<pre><code>35</code></pre><p>예시 2</p>
<pre><code class="language-javascript">//반복문을 사용하여 1 이상 100 이하의 홀수를 모두 출력
let i = 1;

while (i &lt; 100) {
  console.log(i);
  i += 2;
}</code></pre>
<p>결과 2</p>
<pre><code>1
3
.
.
.
97
99</code></pre><p>예시 3</p>
<pre><code class="language-javascript">//while문을 활용해서 정수 180의 약수를 모두 출력하고, 총 몇 개의 약수가 있는지 출력
const N = 180;
let i = 1;
let count = 0;

while (i &lt;= N) {
  if (N % i === 0) {
    console.log(i);
    count++;
  }
  i += 1;
}

console.log(`${N}의 약수는 총 ${count}개입니다.`);</code></pre>
<p>결과 3</p>
<pre><code>1
2
3
4
.
.
.
45
60
90
180
180의 약수는 총 18개입니다.</code></pre>]]></description>
        </item>
        <item>
            <title><![CDATA[반복문1 (for statement)]]></title>
            <link>https://velog.io/@broccoli_soup/%EB%B0%98%EB%B3%B5%EB%AC%B8-loop-statement</link>
            <guid>https://velog.io/@broccoli_soup/%EB%B0%98%EB%B3%B5%EB%AC%B8-loop-statement</guid>
            <pubDate>Wed, 08 Jan 2025 06:12:39 GMT</pubDate>
            <description><![CDATA[<p>for문 (for statement)</p>
<pre><code>for (초기화부분; 조건부분; 추가동작부분) {
  동작부분
}</code></pre><p>예시 1</p>
<pre><code class="language-javascript">for (let i = 1; i &lt;= 5; i++) {
  console.log(`${i} 브로콜리숲 최고!`);
}</code></pre>
<p>결과 1
<img src="https://velog.velcdn.com/images/broccoli_soup/post/32ceacc8-ae6e-45ca-8e2a-5a206421d968/image.png" alt=""></p>
<p>**for 반복문의 로컬 변수를 꼭 활용하지 않고, 반복문 밖에 있는 글로벌 변수를 활용해도상관 없음.(for문의 첫 번째 세미콜론은 생략 불가능)</p>
<pre><code class="language-javascript">let i = 1; 
for (; i &lt;= 15; i++) {
  console.log(`${i} 브로콜리숲 최고!`);
}
</code></pre>
<p>예시 2</p>
<pre><code class="language-javascript">function printTriangle(height) {
  let message = &#39;&#39;;
  for (let i = 0; i &lt; height; i++) {
    message += &#39;*&#39;;
    console.log(message);
  }
}

console.log(&#39;높이: 1&#39;);
printTriangle(1);

console.log(&#39;높이: 3&#39;);
printTriangle(3);

console.log(&#39;높이: 5&#39;);
printTriangle(5);</code></pre>
<p>결과 2</p>
<pre><code>높이: 1
*
높이: 3
*
**
***
높이: 5
*
**
***
****
*****</code></pre>]]></description>
        </item>
        <item>
            <title><![CDATA[Switch문(switch statement)]]></title>
            <link>https://velog.io/@broccoli_soup/Switch%EB%AC%B8switch-statement</link>
            <guid>https://velog.io/@broccoli_soup/Switch%EB%AC%B8switch-statement</guid>
            <pubDate>Wed, 08 Jan 2025 05:32:33 GMT</pubDate>
            <description><![CDATA[<p>기본</p>
<pre><code class="language-javascript">//switch문(switch statement)
switch(비교할_값){
  case 조건값_1:
      동작부분;
      break;
  case 조건값_2:
      동작부분;
      break;
  default:
      동작부분;
}</code></pre>
<p>활용</p>
<pre><code class="language-javascript">let myChoice = 3;

switch(myChoice) {
  case 1:
      console.log(&#39;토끼를 선택한 당신, ...&#39;);
      break;
  case 2:
      console.log(&#39;고양이를 선택한 당신, ...&#39;);
      break;
  case 3:
      console.log(&#39;코알라를 선택한 당신, ...&#39;);
      break;
  case 4:
      console.log(&#39;강아지를 선택한 당신, ...&#39;);
      break;
  default:
  console.log(&#39;1에서 4사이의 숫자를 선택해 주세요.&#39;);
}</code></pre>
<p>**switch문을 if 문으로 대체 가능</p>
<pre><code class="language-javascript">if (myChoice === 1) {
  console.log(&#39;토끼를 선택한 당신, ...&#39;);
} else if (myChoice === 2) {
  console.log(&#39;고양이를 선택한 당신, ...&#39;);
} else if (myChoice === 3) {
  console.log(&#39;코알라를 선택한 당신, ...&#39;);
} else if (myChoice === 4) {
  console.log(&#39;강아지를 선택한 당신, ...&#39;);
} else {
  console.log(&#39;1에서 4사이의 숫자를 선택해 주세요.&#39;);
}</code></pre>
]]></description>
        </item>
    </channel>
</rss>