#40 - 신용카드 마스크 카타 (7큐)

지침




일반적으로 물건을 살 때 신용 카드 번호, 전화 번호 또는 가장 비밀스러운 질문에 대한 답변이 여전히 정확한지 묻습니다. 그러나 누군가 어깨 너머로 볼 수 있으므로 화면에 표시되는 것을 원하지 않습니다. 대신 마스크합니다.

당신의 임무는 마지막 4자를 제외한 모든 문자를 '#'으로 변경하는 함수 maskify를 작성하는 것입니다.



"4556364607935616" --> "############5616"
     "64607935616" -->      "#######5616"
               "1" -->                "1"
                "" -->                 ""

// "What was the name of your first pet?"

"Skippy" --> "##ippy"

"Nananananananananananananananana Batman!"
-->
"####################################man!"



내 솔루션:




function maskify(cc) {
    return cc.split("").map((x,i) => (i<cc.length-4)?x="#":x).join("");
}



설명



먼저 문자열을 배열로 분할한 다음 매핑하고 반복할 때마다 반복되는 요소의 인덱스가 문자열의 길이에서 4를 뺀 값보다 작지 않은지 확인했습니다. 마지막 4자에 도달하지 않았으므로 "#"의 숫자를 변경하지만 마지막 4자에 도달하면 그대로 두고 마지막에 배열에 합류합니다.


이 솔루션에 대해 어떻게 생각하십니까? 👇🤔

My Github

Solve this Kata

좋은 웹페이지 즐겨찾기