알고리즘 19 - Abbreviate a Two Word Name
Q.
Write a function to convert a name into initials. This kata strictly takes two words with one space in between them.
The output should be two capital letters with a dot separating them.
It should look like this:
Sam Harris => S.H
patrick feeney => P.F
A)
function abbrevName(name){
let nameSplit = name.split(' ');
let initial = [];
for (el of nameSplit) {
initial += el[0];
}
initial = initial.split('').join('.').toUpperCase();
return initial;
}
other
function abbrevName(name){
let nameSplit = name.split(' ');
let initial = [];
for (el of nameSplit) {
initial += el[0];
}
initial = initial.split('').join('.').toUpperCase();
return initial;
}
나는 수도코드로 생각한 과정대로, 자르고 -> index[0]을 담고 -> 다시 합치고 -> 점으로 묶고 -> 대문자로 변환한는 순서대로 짰다. 그런데 .map
으로 한 줄로 푼 솔루션을 보았다!
.map
: 배열 내의 모든 요소 각각에 대하여 주어진 함수를 호출한 결과를 모아 새로운 배열을 반환한다.
예를 들어 arr.map(x => x * 2)
이러면 배열의 각 요소에 2를 곱한 배열을 반환하는 것이다. 전에도 문제를 풀다가 이 메소드로 푼 걸 본 것 같은데, 자주 나오는 것 같으니 익혀놔야겠다!
function abbrevName(name){
return name.split(' ').map(i => i[0].toUpperCase()).join('.')
}
여기서는 인덱스의 첫번째[0] 값을 대문자로 변환해서 반환하도록 사용되었다. 똑똑한 메소드 같으니라구...😁
Author And Source
이 문제에 관하여(알고리즘 19 - Abbreviate a Two Word Name), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@pearpearb/알고리즘-19-Abbreviate-a-Two-Word-Name저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)