정규식 4

[Programmers] JavaScript에서 문자열 내 p와 y의 개수 구하기

문제 대문자, 소문자가 구분 없이 주어지는 문자열 s에서 p와 y의 개수를 구하고, 개수가 동일하면 true, 아니면 false를 반환한다. 이때 p와 y가 모두 하나도 없다면 항상 true를 반환한다. (개수 비교 시 대소문자 구분 X) programmers.co.kr/learn/challenges 코딩테스트 연습 기초부터 차근차근, 직접 코드를 작성해 보세요. programmers.co.kr 코드 풀이 str.match(정규식) 메서드는 일치하는 정규식 문자가 있을 때 이를 배열로 반환한다. 없으면 null을 반환한다. 문제에서 p나 y가 하나도 존재하지 않을 경우엔 항상 true를 반환하므로, 함수의 첫 번째 분기에는 str.match([p|y]/gi) === null 조건으로 분기해준다. 하나라도..

[Programmers] 신규 아이디 추천하기 (JavaScript/정규식)

문제 신규 아이디 추천 문제. 카카오에 입사한 신입 개발자 네오는 카카오계정개발팀에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. 네오에게 주어진 첫 업무는 새로 가입하는 유저들이 카카오 아이디 규칙에 맞지 않는 아이디를 입력했을 때, 입력된 아이디와 유사하면서 규칙에 맞는 아이디를 추천해주는 프로그램을 개발하는 것입니다. 다음은 카카오 아이디의 규칙입니다. 아이디의 길이는 3자 이상 15자 이하여야 합니다. 아이디는 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.) 문자만 사용할 수 있습니다. 단, 마침표(.)는 처음과 끝에 사용할 수 없으며 또한 연속으로 사용할 수 없습니다. 네오는 다음과 같이 7단계의 순차적인 처리 과정을 통해 신규 유저가 입..

[Programmers] 핸드폰 번호의 특정 범위를 마스킹하기 (JavaScript/정규식)

문제 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요. 코드 풀이 replace 메서드를 통해 정규식 패턴을 첫 번째 인자로 넣고, 마스킹하고자 하는 문자를 두 번째 인자로 넣어준다. ?= : lookahead. 전방 탐색을 위한 패턴이다. ?= 이 다음에 오는 문자가 일치하는 영역에서 제외된다. 또한, 전방 탐색은 하위 표현식처럼 소괄호로 감싸준다. .+(?=:) 의 경우 http://www.abc.com https://www.abc.com http://www.abc.co.kr 위..