[알고리즘] Codewars - Format a string of names like 'Bart, Lisa & Maggie'.
Given: an array containing hashes of names
Return: a string formatted as a list of names separated by commas except
for the last two names, which should be separated by an ampersand.
Example:
list([ {name: 'Bart'}, {name: 'Lisa'}, {name: 'Maggie'} ])
// returns 'Bart, Lisa & Maggie'
list([ {name: 'Bart'}, {name: 'Lisa'} ])
// returns 'Bart & Lisa'
list([ {name: 'Bart'} ])
// returns 'Bart'
list([])
my solutions
function list(names){
if(names.length === 0){
return '';
}
//요소 객체가 1개만 존재하면 1개만 내뱉고
if(names.length === 1){
return `${names[0].name}`
}
//요소 객체가 2개만 존재하면 &로 마무리한다.
if(names.length === 2){
return `${names[0].name} & ${names[1].name}`
}
//요소 객체가 많이 존재하면 계속 붙준다
let head = names[0].name;
let tail = names.slice(1);
return `${head}, `+list(tail);
}
다른 솔루션들 보는데 reduce, map과 정규식을 이용한 솔루션들이 보인다! 추후에 참조해서 풀어보자.
Author And Source
이 문제에 관하여([알고리즘] Codewars - Format a string of names like 'Bart, Lisa & Maggie'.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@leobit/알고리즘-Codewars-Format-a-string-of-names-like-Bart-Lisa-Maggie저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)