reverse 함수에 정수인 숫자를 인자로 받습니다.
그 숫자를 뒤집어서 return해주세요.
x: 숫자
return: 뒤집어진 숫자를 반환!
예들 들어,
x: 1234
return: 4321
x: -1234
return: -4321
x: 1230
return: 321
- 나의 코드
const reverse = (x) => { xArr = String(x).split(""); xReverse = xArr.reverse(); reverseXString = xReverse.join(""); reverseXNum = parseInt(reverseXString);
if(xReverse[xReverse.length-1]==="-") { console.log(xReverse[xReverse.length-1]); const correct= reverseXNum*(-1); return correct; } return reverseXNum; }
- 접근 방법
1) 숫자를 문자열로 바꾸어주고 각각 자릿수 별 숫자로 나누어 배열로 만들어준뒤,
[ '-', '1', '2', '3', '4' ]
xArr = String(x).split("");
2) 기존의 배열 내 데이터의 순서를 뒤에서부터 받아오는 배열로 바꾸어주고,
[ '4', '3', '2', '1', '-' ]
xReverse = xArr.reverse();
3) 배열 내 각 데이터를 하나의 문자열로 다시 합친 뒤,
'4321-'
reverseXString = xReverse.join("");
4) 문자열을 다시 숫자 데이터로 바꾸어준다
4321
reverseXNum = parseInt(reverseXString);
-단, x가 마이너스 값을 가질 경우 4번 과정에서 3번 결과로 나왔던 숫자 뒤
-
가 누락되기 때문에if 문
으로 x가 마이너스 값을 가졌을 경우 최종 결과에 (-1)을 곱해줘야 한다는 조건을 붙여줘야 한다if(xReverse[xReverse.length-1]==="-") { console.log(xReverse[xReverse.length-1]); const correct= reverseXNum*(-1); return correct; }
- | |
---|---|
String() | 괄호 안의 숫자 -> 문자열로 변환 |
parseInt( ) | 괄호 안의 문자열 -> 숫자로 변환 |
배열 관련 메서드 | |
---|---|
split("") 메서드 | 괄호 안의 요소를 기준으로 문자열 -> 배열로 변환 |
reverse() 메서드 | 배열내 데이터 순서를 반대로 변환 |
join("") 메서드 | 배열의 데이터들을 괄호 안의 요소를 사이에 두고 합침 |
reverse() 메서드 | 배열내 데이터 순서를 반대로 변환 |