반응형
해당 문제는 문제를 읽자마자 정규표현식을 쓰는 것이 좋을 것 같다는 생각이 들었다. 물론 정규표현식 다 까먹어서 강의 다시 듣고 와서 문제 풀었다 ㅋㅋㅋ
나의 풀이
아래와 같이 정규표현식을 사용하여 각 순차적인 처리 과정을 수행하였다.
function solution(new_id) {
let answer = new_id.toLowerCase()
.replaceAll(/[^a-z0-9\-\_\.]/g,"")
.replaceAll(/\.{2,}/g, ".")
.replaceAll(/^\.|\.$/g, "");
if(answer.length === 0) answer = "a";
answer = answer.slice(0,15).replaceAll(/\.$/g, "");
while(answer.length <= 2) answer += answer.charAt(answer.length-1);
return answer;
}
다른 사람들의 풀이를 보고 알게 된 점
.replace(/^$/, 'a')
이런 식으로 new_id가 빈 문자열이라면 new_id "a"를 대입한다 를 수행할 수 있다.
padEnd
.padEnd(3, id[id.length-1])
padEnd를 이용하여 지정된 문자열 길이에 도달할 때 까지 특정 문자를 문자열 끝에 추가할 수 있다.
반응형
'자료구조 & 알고리즘' 카테고리의 다른 글
프로그래머스 최솟값 만들기 - 자바스크립트 코드 (0) | 2024.11.24 |
---|---|
프로그래머스 로또의 최고 순위와 최저 순위 - 자바스크립트 풀이 (0) | 2024.11.24 |
프로그래머스 햄버거 만들기 (stack) - 자바스크립트 풀이 (0) | 2024.11.04 |
프로그래머스 체육복 (greedy) - 자바스크립트 풀이 (0) | 2024.10.30 |
프로그래머스 키패드 누르기 - 자바스크립트 풀이 (0) | 2024.10.20 |