본문 바로가기
코테연습

1. Square Every Digit

by hxunz 2022. 3. 9.

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

댓글