• "array.splice메서드 - 03" 문제풀이
    다음 배열에서 곰팡이를 제거한 배열을 나타내시오.
    let arr = [['양파','곰팡이'],['곰팡이','빵','딸기잼'],['귤','곰팡이','사과']];
let arr = [['양파','곰팡이'],['곰팡이','빵','딸기잼'],['귤','곰팡이','사과']];
function removeGerm() {
  // 여기에 코드를 작성해주세요!
  for(let i = 0; i < 3; i++){
    for(let j = 0; j <= 4; j++){
      if(arr[i][j] === '곰팡이'){
        arr[i].splice(j,1)
      }
    }
  }
  return arr;
}
console.log(removeGerm()) // [["양파"],["빵","딸기잼"],["귤","사과"]]
어제 하루의 반나절 이상을 함께 했던 곰팡이는 드디어 박멸할 수 있었다.🙏

짧은 회고 : 중첩배열과 반복문 그리고 splice메서드에 대해서 정확히 개념을 알지 못해 벌어진 일이었다. 개념을 다시 제대로 각인시키도록 하자💪
  • array.push메서드
    - 배열의 끝에 하나 이상의 요소를 추가할 때 사용한다!
    예시문제
    다음 아래의 배열에서 ["배구는 김연경"]을 추가해주세요.
    let myArr = [["기독교는 성경"],["불교는 불경"]]
function volleyballP(){
let myArr = [["기독교는 성경"],["불교는 불경"]]
myArr.push(["배구는 김연경"])
return myArr;
}
console.log(volleyballP()) // [["기독교는 성경"], ["불교는 불경"], ["배구는 김연경"]]
역시 배구는 김연경이다.🙏💪👍
  • array.pop메서드
    - 배열의 마지막 요소를 제거하며 제거된 요소를 반환한다!
    예시문제
    다음 아래의 배열 마지막 요소를 제거해주세요.
    let myArr = [["기독교는 성경"],["불교는 불경"]]
function popArray(){
 let myArr = [["기독교는 성경"],["불교는 불경"]]
  myArr.pop()
  return myArr;
}
console.log(popArray()) // ["기독교는 성경"]
  • array.shift메서드
    - 배열의 첫번째 요소를 제거한다!
    예시문제
    다음 아래의 배열 첫번째 요소를 제거해주세요.
    let myArr = [["기독교는 성경"],["불교는 불경"]]
function popArray(){
 let myArr = [["기독교는 성경"],["불교는 불경"]]
  myArr.shift()
  return myArr;
}
console.log(popArray()) // ["불교는 불경"]]
나는 무교이지만, array.pop메서드에서 불교를 제거했기 때문에 저항받지 않기 위해 같은 예시를 사용하여 기독교를 제거하였다 .🙏
  • 반복문(for문)
    - for 반복문은 어떠한 특정 조건이 거짓으로 판별될 때 까지 같은 동작(반복적으로 행해야할)을 반복한다.
    예시
    for ( let i =0; i<=array.length; i++){}

    초기화문(let i=0;)
    - 작성 시 변수 선언자를 써주어야한다.
    - 변수명은 index를 의미하는 i 가 보편적이다.
    - index가 증가할 경우 숫자는 보통 0부터 시작한다.
    - 세미콜론(;)이 꼭 찍혀야한다.

    조건문(i<=array.length;)
    - index의 범위를 설정한다.
    - inedx가 증가할 경우 특정한 숫자 미만 혹은 이하로 설정한다.
    - index가 감소 할 경우 0이상으로 설정한다.
    - 조건문 값이 true가 나올 경우 반복문을 계속 실행한다.
    - 조건문 값이 false가 나올 경우 반복문이 종료된다.
    - 세미콜론(;)이 꼭 찍혀야 한다.

    증감식(i++)
    - index가 1씩 증가할 경우 : ++
    - index가 1씩 감소할 경우 : --
    - i++i=i+1 줄여서 쓴 것이며, i+=1로 표현 가능하다.
    - i++++1로도 표현할 수 있다.
  • forloops 문제
    예시문제
    (1) for문을 이용하여 myArray 배열에 1~5까지의 숫자가 요소로 포함될 수 있도록 해주세요.

    (2) i가 2씩 증가할 때 1~30까지 홀수와 짝수의 배열을 각각 구하시오.

    (3) 1~9 까지의 숫자 중 홀수만 배열에 추가하시오.

    (4) 1~9 까지의 숫자를 역순으로 배열에 추가하시오.
(1)
function forLoops() {
  let myArray = [];
  for(let i=1; i<6; i++){
    myArray.push(i)
  }
  return myArray;
}
console.log(forLoops()) // [1, 2, 3, 4, 5]
(2) 짝수일 때
function addEvenNumber() {
  let result = [];
  for (let i=2; i<=30; i+=2){
    result.push(i)
  }
  return result ;
}
console.log(addEvenNumber()) // [2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30]
(2) 홀수일 때
function addOddNumber() {
  let result = [];
  for (let i=1; i<=30; i+=2){
    result.push(i)
  }
  return result
}
console.log(addOddNumber()) // [1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29]
(3)
function forLoops() {
  let myArray = [];
  for (let i=1; i<10; i+=2){
    myArray.push(i)
  } 
  return myArray
}
console.log(forLoops()) // [1, 3, 5, 7, 9]
(4)
function arrayForLoops() {
  let myArray = [];
  for (let i=9; i>0; i-=2){
    myArray.push(i)
  } 
  return myArray;
}
console.log(arrayForLoops()) // [9, 7, 5, 3, 1]
  • 오늘의 시련 문제
    예시문제
    let output = getAllLetters('Radagast');

    (1) for문을 사용하여 getAllLetters 함수를 작성하세요.
    (2) 단어(str 인자)가 주어졌을 때 함수의 리턴값은 주어진 단어를 구성하는 모든 문자를 담고 있는 배열입니다.
    (3) 만약 빈 문자열이 주어졌다면, 빈 배열을 반환해야 합니다.
let output = getAllLetters('Radagast');
function getAllLetters(str) {
  let strArray = [];
  for (let i=0; i<str.length; i++){
    strArray.push(str.substr(i,1))
  }
  return strArray;
}
console.log(output) // ["R", "a", "d", "a", "g", "a", "s", "t"]
짧은 회고 : 반복문과 배열에 대해서 다시 한번 개념을 다지는 계기가 된 문제이며, 문자열 추출 메서드(split, string.substr 등)들을 찾아보고 개념 정리를 할 수 있었다. 💪

오늘의 회고

하루하루 지날수록 더 많은 개념을 적립하고 문제의 난이도 또한 더 올라가서 어렵게 느껴지고 시간이 매우매우 오래 걸리고있다...🥲🥲

그래도 시간 투자대비 성취감도 엄청나, 마치 올림픽 금메달을 딴 것 처럼 기뻐하고 좋아한다😆😆

매일매일 꾸준히 조바심 가지지 않고 정리한 내용들을 반복해서 복습하고 코드를 작성해보고 수정보완해야겠다. 오늘은 여기까지!👋

profile
발전하고 싶은 프론트엔드 개발자 입니다 :)

0개의 댓글