반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- 키패드누르기풀이
- 오블완
- 정규표현식문제
- 좌표거리구하기
- mysql스키마
- next.js
- 자바스크립트 알고리즘
- 알고리즘
- 맨해튼거리예제
- TS
- 깃허브
- 정렬 알고리즘
- js 알고리즘
- JavaScript
- 프로그래머스 자바스크립트
- 맨해튼거리
- binary search
- 자료구조
- node.js
- 프로그래머스 자바스크립트 풀이
- MySQL
- Javascript sort
- 프로그래머스
- 타입스크립트
- Javascript 정렬
- TypeScript
- 자바스크립트 배열
- 티스토리챌린지
- 자바스크립트 정렬
- 프로그래머스 신규아이디추천
Archives
- Today
- Total
FE PARADISE
프로그래머스 신규 아이디 추천 - 자바스크립트 본문
반응형
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
해당 문제는 문제를 읽자마자 정규표현식을 쓰는 것이 좋을 것 같다는 생각이 들었다. 물론 정규표현식 다 까먹어서 강의 다시 듣고 와서 문제 풀었다 ㅋㅋㅋ
나의 풀이
아래와 같이 정규표현식을 사용하여 각 순차적인 처리 과정을 수행하였다.
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를 이용하여 지정된 문자열 길이에 도달할 때 까지 특정 문자를 문자열 끝에 추가할 수 있다.
String.prototype.padEnd() - JavaScript | MDN
String 값의 padEnd() 메서드는 이 문자열을 주어진 문자열(필요한 경우 반복됨)로 채워서 결과 문자열이 지정된 길이에 도달하도록 합니다. 패딩은 이 문자열의 끝에서부터 적용됩니다.
developer.mozilla.org
반응형
'자료구조 & 알고리즘' 카테고리의 다른 글
프로그래머스 최솟값 만들기 - 자바스크립트 코드 (0) | 2024.11.24 |
---|---|
프로그래머스 로또의 최고 순위와 최저 순위 - 자바스크립트 풀이 (0) | 2024.11.24 |
프로그래머스 햄버거 만들기 (stack) - 자바스크립트 풀이 (0) | 2024.11.04 |
프로그래머스 체육복 (greedy) - 자바스크립트 풀이 (0) | 2024.10.30 |
프로그래머스 키패드 누르기 - 자바스크립트 풀이 (0) | 2024.10.20 |