문제
reverse 함수에 정수인 숫자를 인자로 받는다. 그 숫자를 뒤집어서 return하라.
x: 숫자
return: 뒤집어진 숫자를 반환!
ex)
x: 1234
return: 4321
x: -1234
return: -4321
x: 1230
return: 321
풀이
const reverse = x => {
// 여기에 코드를 작성해주세요.
// 숫자를 문자열로 변환
const x2 = String(x)
//거꾸로
const x3 = x2.split("").reverse().join("");
console.log(x3);
//0이 포함된 경우 삭제
const x4 = x3.replace("0", "");
//-부호가 있는경우 위치 고정
if (x4.indexOf("-")) {
}
return x4;
}
나는 우선 숫자를 문자열로 변경한 뒤에 .split("").reverse().join("");를 사용하여 거꾸로 뒤집고, 그 후에 0이 포함된다면 .replace()를 활용하여 삭제하는 방법을 사용했는데, 이 방법의 가장 큰 오류는 0이 끝에 두 개 들어가면 하나밖에 삭제를 못하는 것이었다. 그리고 -부호의 위치를 고정하는 방법도 해결하지 못하였다.
느낀점
팀원의 다른 풀이법을 보니, 빈 배열을 이용하여 중간에 원하는 문자열을 저장할 수 있다는 것을 알게되었고, includes 함수를 활용하여 -를 해결할 수 있다는 것을 알게되었다.
내가 풀지 못한 문제를 나와 다른 방식으로 해결한 팀원들을 보고 많은 것을 배울 수 있었던 것 같다. 그리고 새로운 접근법과 새로 알게된 함수를 이용해서 다음 번에 문제를 풀 때 적용해봐야겠다고 생각했다.
'Algorithms' 카테고리의 다른 글
| [Code Kata] Day1 (0) | 2022.10.19 |
|---|