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만 유효한 것으로 봐요.