문제
0부터 9로 구성된 배열을 전화 번호로 출력하기. 첫 세 자리는 괄호 안에 포함되어야 하며, (032) 3872 6672와 같은 형식으로 출력되어야 한다.
문제 주소: www.codewars.com/kata/525f50e3b73515a6db000b83
내 풀이
function createPhoneNumber(numbers){
numbers = `(${numbers[0]}${numbers[1]}${numbers[2]}) ${numbers[3]}${numbers[4]}${numbers[5]}-${numbers[6]}${numbers[7]}${numbers[8]}${numbers[9]}`
return numbers;
}
console.log(createPhoneNumber(numbers));
우수 답안
function createPhoneNumber(numbers){
numbers = numbers.join('');
return '(' + numbers.substring(0, 3) + ') '
+ numbers.substring(3, 6)
+ '-'
+ numbers.substring(6);
}
후기 및 새롭게 배운 것
뭔가 내 답을 쓸 때부터 별로라는 생각이 있었다. 어떻게든 테스트 케이스를 통과는 하겠지만, 더 좋은 방법에 대한 고민이 부족했던 것 같다. 우수 답안에서처럼 join()
메소드를 사용하면 배열 내 요소를 새로운 문자열로 반환하고 substring()
을 사용해 숫자를 처리할 수 있었다.
'개발 > TIL;' 카테고리의 다른 글
[코드 워즈] 4. Stop gninnipS My sdroW! (0) | 2020.12.18 |
---|---|
[코드워즈] 2. Find The Parity Outlier (0) | 2020.12.16 |
[코드워즈] 1. List Filtering (0) | 2020.12.15 |