문제 :
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
문제해석 : 엄청 쉬운 문제. 문자열을 다루는 문제다.
풀이 :
function abbrevName(name){
let names = name
names = names.split(' ')
names = names[0][0].toUpperCase()+'.'+names[1][0].toUpperCase()
return names
}
나는 이렇게 풀었다. 그런데 어떤 신기한 선생님은 이런 문제를 정규식으로 풀어버린다.
function initialName(words) {
'use strict'
return words
.replace(/\b(\w)\w+/g, '$1.')
.replace(/\s/g, '')
.replace(/\.$/, '')
.toUpperCase();
}
console.log(initialName('momin riyadh')); // M.R
console.log(initialName('momin riyadh ralph')); // M.R.R
'코딩테스트' 카테고리의 다른 글
[백준] 동전 0 - 파이썬 (0) | 2021.09.15 |
---|---|
[CodeWars] IQ Test (0) | 2021.07.31 |
[Codewar] Take a Ten Minute Walk - 자바스크립트 (0) | 2021.06.24 |
[1012번]유기농배추 - 파이썬 (0) | 2021.06.23 |
[백준]스택수열 파이썬 (0) | 2021.06.17 |