본문 바로가기
Algorithm/programmers

[programmers/js] 배열 원소의 길이 3가지 풀이

by dani0312 2025. 1. 26.

◾레벨

코딩테스트 연습 > 코딩테스트 입문 > 배열 원소의 길이

 

◾문제

 

https://school.programmers.co.kr/learn/courses/30/lessons/120854?language=javascript

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

문제 설명
문자열 배열 strlist가 매개변수로 주어집니다. strlist 각 원소의 길이를 담은 배열을 return하도록 solution 함수를 완성해주세요.

 

 

◾풀

1번째

이 문제는 어렵지 않아서 금방 for문을 이용해 풀었는데 생각해보니 map 혹은 foreach문을 이용해서도 풀 수 있는 문제였다. 이것들을 이용한다면 더 간결하게 코드를 짤 수 있다. 

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

 

2번째

map을 이용한 풀이이다. 

map의 경우 코드가 가장 짧게 작성되었는데, 요소의 반환값을 리턴하여 새로운 배열을 반환하기 때문이다.

function solution(strlist) {
    var answer = [];
    
    answer = strlist.map((value)=>value.length);
    
    return answer;
}

 

3번째

forEach문을 이용한 풀이이다. forEach의 경우 map과 달리 새 배열을 반환하지 않으므로 아래와 같이 answer 배열에 직접 저장해주는 작업이 필요하다.

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

 

 

 

 

map과 forEach는 배열을 순회하는 메서드들로, 꽤 자주 사용하곤 했던 메서드들이다. 이 둘의 차이점에 대해서도 다시 정리를 해보아야겠다. 

 

'Algorithm > programmers' 카테고리의 다른 글

[programmers/js] 배열의 유사도  (1) 2025.01.25
[programmers/js] 짝수의 합 풀이  (1) 2025.01.19

/* 내가 추가한 코드 */ /* 내가 추가한 코드 끝끝 */