배열과 반복문

노정은·2022년 6월 3일
0

배열과 반복문은 함께 많이 쓰인다.
배열과 반복문 문제를 풀 때 어려웠던 부분을 정리해두고자 한다.

👀 07번 문제 👀

  • for문을 사용하여 getAllLetters 함수를 작성하세요.
  • 단어(str 인자)가 주어졌을 때 함수의 리턴값은 주어진 단어를 구성하는 모든 문자를 담고 있는 배열입니다.
  • 만약 빈 문자열이 주어졌다면, 빈 배열을 반환해야 합니다.
let output = getAllLetters('Radagast');
console.log(output); // --> ['R', 'a', 'd', 'a', 'g', 'a', 's', 't']

✍🏻 풀이 ✍🏻

function getAllLetters(str) {
  // 아래의 코드를 수정하지 마세요.
  let strArray = [];  // 빈 문자열을 가진 배열
  
  // 아래에 코드를 작성해주세요
  for(let i = 0; i < str.length; i++){ // str로 받을 배열길이만큼 반복
    strArray[i] = str[i]; // str 배열의 문자열를 strArray 배열에 대입
  }
  
  // 아래의 코드를 수정하지 마세요.
  return strArray;
}

let output = getAllLetters('Radagast');
console.log(output);
// --> ['R', 'a', 'd', 'a', 'g', 'a', 's', 't']

👀 08번 문제 👀
처음 보는 사람은 숫자 0으로, 한번 봤던 사람은 숫자 1로 표기된 배열이 준비되어 있습니다.
처음 보는 사람에게는 '안녕하세요' 라는 인사를, 한번 봤던 사람에게는 '또 만나네요'라는 인삿말을 남기려고 합니다.

  • helloBot이라는 함수를 만들어주세요.
  • for문을 사용하여 빈 result배열에 greetings에 들어있는 인삿말을 채워주세요.
  • 인자에는 0과 1로 이루어진 배열이 들어갑니다.
let group1 = [0,1,1,0,0]
helloBot(group1); // --> ['안녕하세요','또 만나네요','또 만나네요','안녕하세요','안녕하세요']

✍🏻 풀이 ✍🏻
처음보는 느낌의 함수가 나와서 뭐지? 이거 어떻게 해석해야하지?
peopel이 파라미터인가? 아닌가? 했는데 파라미터가 맞았다.
이 함수는 '화살표함수' 이다.

const helloBot = people => {
  let result = []; // 빈 배열 만들기

  for(let i = 0; i < people.length; i++) { // 앞으로 받을 배열의 길이 만큼 반복
    if(people[i] === 0) { // 0이면 
      result.push('안녕하세요'); // result배열에 '안녕하세요' 넣기
    } else { // 0이 아니면
      result.push('또 만나네요'); // result배열에 '또 만나네요' 넣기
    }    
  }
  return result; // 0이냐 1이냐에 따라 값이 다르게 들어가있겠군
}

let group1 = [0,1,1,0,0] // group1을 argument로 받자!
let insaBot = helloBot(group1);
console.log(insaBot);
// 정답! --> ['안녕하세요','또 만나네요','또 만나네요','안녕하세요','안녕하세요']
profile
인생은 단 한 번뿐, 대충 살아서는 행복할 수 없어!

0개의 댓글