배열과 반복문은 함께 많이 쓰인다.
배열과 반복문 문제를 풀 때 어려웠던 부분을 정리해두고자 한다.
👀 07번 문제 👀
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로 표기된 배열이 준비되어 있습니다.
처음 보는 사람에게는 '안녕하세요' 라는 인사를, 한번 봤던 사람에게는 '또 만나네요'라는 인삿말을 남기려고 합니다.
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);
// 정답! --> ['안녕하세요','또 만나네요','또 만나네요','안녕하세요','안녕하세요']