문자열 배열 strlist
가 매개변수로 주어집니다. strlist
각 원소의 길이를 담은 배열을 retrun하도록 solution 함수를 완성해주세요.
strlist
원소의 길이 ≤ 100strlist
는 알파벳 소문자, 대문자, 특수문자로 구성되어 있습니다.strlist | result |
---|---|
["We", "are", "the", "world!"] | [2, 3, 3, 6] |
["I", "Love", "Programmers."] | [1, 4, 12] |
입출력 예 #1
입출력 예 #2
const solution = (strlist) => strlist.map(x=>x.length);
/* 내가 처음에 작성했던 코드이다. map 메서드를 이용해서 strlist의 원소의 길이를 리턴해주는
코드를 작성했다. 화살표 함수를 통해 작성해주었으며 화살표 함수에서 함수 내부의 내용이
return 값만 있다면 중괄호와 return을 생략하여 간단하게 작성해줄 수 있다. */
funcion solution(strlist) {
return strlist.map(x=>x.length);
}
/* 위의 화살표 함수와 같은 코드이다. function 키워드로 만들어진 함수는 return을 생략할 수 없다. */
function solution(strlist) {
var answer = [];
for (let i = 0; i < strlist.length; i++) {
answer.push(strlist[i].length);
}
return answer;
}
/* 다른분의 풀이를 보다가 가져왔다. map과 동일한 방식이긴한데 for문을 통해서 strlist의 배열을
돌면서 answer의 배열에 strlist의 인덱스로 접근하여 length를 push해주는 방식이다. */
function solution(strlist) {
const answer = []
for (const i of strlist) {
answer.push(i.length)
}
return answer;
}
/* 이것도 다른분의 풀이이다. 빈배열을 가진 answer 변수를 만들어주고 for of를 통해
i.length를 push 해주었다. */
function solution(strlist) {
let answer = strlist.reduce((arr, value)=>{
arr.push(value.length);
return arr;
},[])
return answer;
}
/* 이것도 다른분의 풀이이다. reduce를 이용해서 코드를 작성하셨는데 초기값을 '[]'로 설정하여
배열로 만들어주고 push를 통해서 value의 length를 추가해주었다. 이런방법은 생각못했는데 신기했다! */
출처 : 프로그래머스 스쿨 | 코딩테스트 연습
https://school.programmers.co.kr/learn/courses/30/lessons/120854