신규 아이디 추천 - javascript

문제 (출처)

👉https://programmers.co.kr/learn/courses/30/lessons/72410

나의 접근

  • 우선 문제를 딱 보자마자 정규표현식을 써야겠군 이라는 생각이 들었다.

  • 정규표현식과 string 메소드도 많이 사용해야 했다.
    (toLowerCase, replace, slice, charAt, repeat)

풀이

function solution(new_id){
	const answer = new_id
    	.toLowerCase()
    	.replace(/[^\w-_.]/g, '')
    	.replace(/\.{2,}/g, '.')
    	.replace(/^\.|\.$/g, '')
    	.replace(/^$/, 'a')
    	.slice(0, 15).replace(/\.$/, '');
  	const len = answer.length;
  	return len > 2 ? answer : answer + answer.charAt(len - 1).repeat(3 - len);
}

오늘의 배운점 및 교훈

  • 사실 이번 문제는 어떻게 풀지는 대충 알겠다 하였지만 막상 코드를 치려고 하니 너무나 찾아봐야 할게 많고, 엄두가 나지 않았다.

  • 매번 복붙만 했는데 직접 코드를 쳐봐야하고 그리고 한번 봐서 안되니 자주 여러번 봐서 꼭 내것으로 만들어야 할꺼 같다.

  • [ 정규표현식 정리하기 ]
    g : 모든 문자와 여러 줄 일치 (global)
    ^ : 문장의 시작
    $ : 문장의 끝
    \w : word 문자
    .{2,} : .이 최소 2개 이상
    | : 또는

좋은 웹페이지 즐겨찾기