코딩테스트

코딩 테스트 풀이 - 배열 원소의 길이 | forEach 문, for of 문, map 이용해 풀기

히새 2023. 10. 12. 15:56

🎈 내가 생각한 방법

 

1. 반복문을 돌려 배열 요소 각각의 글자 갯수를 구한다.

2. 배열에 넣는다.

 

작성코드

 


 

🎈 배열에 요소를 추가하는 메서드

 

push : 배열의 맨 뒤에 요소를 하나 추가한다.

let array = [1,2,3];

array.push(4);

console.log(array) // [1,2,3,4]

unshift : 배열의 맨 앞에 요소를 하나 추가한다.

let array = [a,b,c];

array.unshift(d);

console.log(array) // [a,b,c,d]

배열이름.메써드(추가 할 요소)


다른 방법으로 풀어보기

 

🎈forEach 문

 

forEach 구문의 인자로 콜백함수를 등록할 수 있고, 배열의 각 요소들이 반복될 때 콜백 함수가 호출된다.

콜백함수에서 배열요소의 인덱스와 값에 접근할 수 있다.

let array = [1,2,3];

array.forEach((currentElement, index, array) => {
	console.log(`요소: ${currentElement}`);
	console.log(`index: ${index}`);
	console.log(array);
});
// 콘솔출력
요소 : 1
index : 0
[1,2,3]

요소 : 2
index : 1
[1,2,3]

요소 : 3
index : 2
[1,2,3]

 

forEach 를 사용하여 풀어본 코드

 

function solution(strlist) {
    var answer = [];
    strlist.forEach ( str => answer.push(str.length) )
    return answer;
}

 

 

🎈 for of 문

 

향상된 for 문은 배열의 값을 item에 하나씩 담아온다.

const ofArray = [ h, s ];

for ( let item of ofArray ) {
	console.log(item);
}

// h
// s

 

 

for of 문을 사용하여 풀어본 코드

function solution(strlist) {
    let answer = [];
    for (const str of strlist) {
        answer.push(str.length);
    }
    return answer;
}

 

🎈 map

 

map() 함수는 값과 인덱스를 인자로 받아 자동으로 for 문을 돌려 값을 빼준다.

map() 함수의 값 인자는 향상된 for 문의 item 인자와 같은 역할,

map() 함수의 인덱스 인자는 기본 for문 방식의 index 와 같은 역할을 한다.

 

const mapArray = [ m,a,p ];

// 일반 함수 형태
mapArray.map(function(item,index) {
	console.log( item, index+"번째" );
});

// 화살표 함수 형태
mapArray.map((item,index) => {
	console.log( item, index+"번째" );
});

// m 0번째
// a 1번째
// p 3번째

 

map 을 사용하여 풀어본 코드