[JavaScript] 정수인 숫자를 인자 받아 그 숫자를 뒤집어서 return
2022. 10. 6. 17:08ㆍCodingTest/JavaScript Q
(문제)
reverse 함수에 정수인 숫자를 인자로 받습니다. 그 숫자를 뒤집어서 return해주세요.
x: 숫자 return: 뒤집어진 숫자를 반환!
예들 들어, x: 1234 return: 4321
x: -1234 return: -4321
x: 1230 return: 321
(정답)
const reverse = x => {
let str = x.toString()
let strArr = [];
for (let i = str.length - 1; i >= 0; i--) {
if (st[i] === '-') {
strArr.unshift(str[i])
} else {
strArr.push(str[i])
}
}
const joinStr = strArr.join('')
const num = Number(joinStr)
return strArr; // [ '-', '4', '3', '2', '1' ]
return joinStr; // -4321 string
return num; // -4321 number
}
console.log(reverse(-1234)) // -4321 number
- 숫자는 인덱스번호로 사용할수 없어 일단 x에 들어오는 숫자를 string으로 변환해줍니다
- 뒤집어진 숫자를 반환 해야되므로 반복문을 끝에서 앞으로 실행해주고
- 조건문으로 ("-") 대시가 들어가 있는 문자열은 unshift 하여 앞으로 추가해주고
- 그 밖의 경우에는 push를 해줍니다
- strArr 배열에 있는 값을 join()으로 문자를 하나로 합치고
- joinStr를 Number()로 숫자로 만들어 반환합니다.
'CodingTest > JavaScript Q' 카테고리의 다른 글
[JavaScript] 숫자인 인자를 뒤집은 모양이 num과 똑같은지 여부를 반환 (0) | 2022.10.07 |
---|---|
[JavaScript ] twoSum함수에 숫자배열과 '특정 수'를 인자로 넘기면, 더해서 '특정 수'가 나오는 index를 배열에 담아 return (0) | 2022.10.06 |
[JavaScript] object의 value을 변경하고 추가 (0) | 2022.09.25 |
[Javascript] array methods forEach() , map() , replace() (1) | 2022.09.24 |
[JavaScript] template literals, split() (1) | 2022.09.24 |