Welcome. In this kata, you are asked to square every digit of a number and concatenate them.
For example, if we run 9119 through the function, 811181 will come out, because 92 is 81 and 12 is 1.
Note: The function accepts an integer and returns an integer
function squareDigits(num){
num = num.toString();
const number = num.split('');
const result = number.map(n => {
return Math.pow(n, 2);
});
const answer = result.join('');
const ans = parseInt(answer);
return ans;
}
MDN 찾아가면서 해보긴했는데 딱 봐도 너무 긴 코드,,,ㅋ
제출하고 다른 사람이 푼거 보니까 한줄로 끝냈더라,,,ㅜㅋ
1. 정수에서 문자로 변환하기
: 주어진 숫자 num을 문자형으로 변환해주기 위해서 toString()을 사용했다.
2. 문자로 변환된 숫자들 하나씩 분리
: split('')를 사용해서 숫자 하나씩 분리해서 배열로 넣어줬다.
3. 배열 안에 있는 숫자 하나씩 제곱해주기
: 맨 처음에는 forEach를 사용했었는데 forEach를 사용하게 되면 배열을 리턴해주지 않기 때문에 map을 사용했다.
map을 사용할때에는 return 해주는 부분이 있어야한다.
숫자 제곱하는거 Math.pow(숫자, 제곱해주려고2) 이렇게 사용했다.
4. 문자형에서 정수형으로 변환하기
: 문자형이라서 제출했을때 통과가 안되길래 정수형으로 다시 변환해줬다.
parseInt()사용했다.
'코테연습' 카테고리의 다른 글
6.Isograms (0) | 2022.03.16 |
---|---|
5.You're a square! (0) | 2022.03.14 |
4.Get the Middle Character (0) | 2022.03.11 |
3.Descending Order (0) | 2022.03.10 |
2. Disemvowel Trolls (0) | 2022.03.09 |
댓글