https://www.codewars.com/kata/5412509bd436bd33920011bc
DESCRIPTION:
Usually when you buy something, you're asked whether your credit card number, phone number or answer to your most secret question is still correct. However, since someone could look over your shoulder, you don't want that shown on your screen. Instead, we mask it.
Your task is to write a function maskify, which changes all but the last four characters into '#'.
Examples
"4556364607935616" --> "############5616"
"64607935616" --> "#######5616"
"1" --> "1"
"" --> ""
// "What was the name of your first pet?"
"Skippy" --> "##ippy"
"Nananananananananananananananana Batman!"
-->
"####################################man!"
설명:
보통 무언가를 살 때, 신용카드 번호, 전화번호, 또는 가장 비밀스러운 질문에 대한 답변이 여전히 정확한지를 묻습니다. 그렇지만 누군가가 당신의 어깨너머로 볼 가능성이 있기 때문에 그것을 화면에 표시하고 싶지 않습니다. 대신 마스크를 합니다.
당신의 과제는 마지막 4 문자를 제외한 나머지를 모두 '#'로 변경하는 함수 maskify를 작성하는 것입니다.
예시
"4556364607935616" --> "############5616"
"64607935616" --> "#######5616"
"1" --> "1"
"" --> ""
// "What was the name of your first pet?"
"Skippy" --> "##ippy"
"Nananananananananananananananana Batman!"
-->
"####################################man!"
풀이
function maskify(cc) {
const str = cc.slice(-4);
const maskedString = str.padStart(cc.length, '#');
return maskedString;
}
들어온 문장을 뒤에서부터 4개 slice해서 그 값을 str에 저장한다. 그리고 padStart를 이용해 들어온 문장의 길이만큼 '#'을 str 앞에 더해준다.
다른 사람의 풀이
function maskify(cc) {
return cc.slice(0, -4).replace(/./g, '#') + cc.slice(-4);
}
'알고리즘 > Codewars' 카테고리의 다른 글
[Codewars] Binary Addition (7 kyu) / JavaScript (0) | 2022.09.29 |
---|---|
[Codewars] Descending Order (7 kyu) / JavaScript (0) | 2022.09.28 |
[Codewars] Multiples of 3 or 5 (6 kyu) / JavaScript (0) | 2022.09.27 |
[Codewars] List Filtering (7 kyu) / JavaScript (0) | 2022.09.26 |
[Codewars] Thinkful - Logic Drills: Traffic light (8 kyu) / JavaScript (0) | 2022.09.25 |
댓글