◾레벨
코딩테스트 연습 > 코딩테스트 입문 > 배열 원소의 길이
◾문제
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 |