
신규 아이디 추천코테2023. 3. 6. 12:04
Table of Contents
인트로
정규표현식 사용 방법 검색하면서 푸느라 정신없었지만 그래도 어찌저찌 통과
문제
Level 1 : https://school.programmers.co.kr/learn/courses/30/lessons/72410?language=javascript
나의 풀이
function solution(new_id) {
let id = new_id.toLowerCase(); //1단계 대문자-> 소문자
id = id
.replace(/[^a-z0-9\_\.\-]/g, "")
.replace(/(\.+)/g, ".")
.replace(/^\.|\.$/g, ""); //2단계-3단계-4단계
id = id.length ? id.slice(0, 15).replace(/\.$/g, "") : "a"; //5-6단계
while (id.length < 3) id += id[id.length - 1];
return id;
}
다른 풀이 참고
다른 사람의 풀이를 참고하여 while문을 사용한 것을 repeat으로 대체해보았습니다.
repeat은 생각도 못했는데... 더욱 짧아진 코드.. 만족..
function solution(new_id) {
let id = new_id.toLowerCase(); //1단계 대문자-> 소문자
id = id
.replace(/[^a-z0-9\_\.\-]/g, "")
.replace(/(\.+)/g, ".")
.replace(/^\.|\.$/g, "")
.replace(/^$/,'a')
.slice(0, 15).replace(/\.$/g, "");
return (id.length > 2 ) ? id : id + id.charAt(id.length-1).repeat(3-id.length);
}
'코테' 카테고리의 다른 글
나머지가 1이 되는 수 찾기 (0) | 2023.03.16 |
---|---|
크기가 작은 부분 문자열 (0) | 2023.03.14 |
몫 구하기 (0) | 2023.03.11 |
완주하지 못한 선수 (0) | 2023.03.08 |
카드 뭉치 (0) | 2023.03.07 |
@두루마기 :: 내가해냄
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!