LinkLine에 합류했어요. LinkLine은 모두가 안정적으로 연결될 수 있도록 하는 일을 하는 선도적인 통신 회사예요. 팀은 큰 도전에 맞닥뜨렸어요. 사용자들이 전화번호를 온갖 형식으로 입력하기 때문이에요. 하이픈, 공백, 마침표, 괄호, 심지어 접두사까지요. 어떤 번호는 유효하고, 어떤 번호는 도저히 쓸 수 없어요.
임무는 이 혼란을 질서로 바꾸는 거예요. 유효한 번호는 깔끔하게 정리해서 시스템에서 쓰기 알맞은 형식으로 다듬어요. 동시에 유효하지 않은 항목은 찾아내 걸러내요.
LinkLine의 운영이 성공할지는 쓸모 있는 번호와 그렇지 않은 번호를 얼마나 잘 구분하느냐에 달려 있어요. 이 도전을 받아들여 모두의 연결이 매끄럽게 이어지도록 할 준비가 됐나요?
SMS 메시지를 보낼 수 있도록 전화번호를 정리해요.
북미 번호 계획(NANP) 은 미국, 캐나다, 버뮤다 등 북미의 여러 나라에서 사용하는 전화 번호 체계예요.
모든 NANP 국가는 동일한 국제 국가 코드 1을 공유해요.
NANP 번호는 열 자리 숫자로, 흔히 _지역 코드_라고 부르는 세 자리 번호 계획 지역 코드와 그 뒤에 오는 일곱 자리 지역 번호로 이루어져 있어요. 지역 번호의 처음 세 자리는 _국번_을 나타내고, 그 뒤에 오는 고유한 네 자리 숫자가 _가입자 번호_예요.
형식은 보통 다음과 같이 나타내요
NXX NXX-XXXX
여기서 N은 2부터 9까지의 숫자이고, X는 0부터 9까지의 숫자예요.
때로는 국가 코드(1 또는 +1)가 앞에 붙기도 해요.
여러분의 과제는 다양한 형식의 전화번호에서 구두점과 국가 코드(있는 경우)를 제거해서 정리하는 거예요.
예를 들어, 다음 입력은
+1 (613)-995-0253613-995-02531 613 995 0253613.995.0253모두 다음과 같은 출력을 만들어야 해요
6139950253
참고: 이 연습 문제는 NANP 국가에서 사용하는 전화번호만 다루므로, 국가 코드로는 1만 유효한 것으로 간주해요.
Exercism에 가입하고 Lisp Flavoured Erlang 트랙을 연습 문제 68개, 그리고 실제 사람의 멘토링과 함께 배우고 익혀 보세요. 모두 무료예요.