코드카타 #02
문제
reverse 함수에 정수인 숫자를 인자로 받습니다. 그 숫자를 뒤집어서 return해주세요.
x: 숫자return: 뒤집어진 숫자를 반환!
예들 들어,x: 1234return: 4321
x: -1234return: -4321
x: 1230return: 32
첫번째 풀이
let x = -1234
const reverse = x => {
let xString = String(x);
let numsArr = xString.split('')
numsArr.reverse();
if (x < 0) {
numsArr.pop()
return numsArr.join('') * -1
}
return numsArr.join('') * 1
}
풀이 과정
x가number값이라string으로 바꾸기 위해String()메소드를 사용합니다x를split('')를 사용해 각 요소마다 분리해 줍니다.reverse를 이용해 배열 값들을 뒤집어 줍니다.if문을 이용해x가 0보다 작을때join()으로 한 문자열로 합친뒤 -1 을 곱해number값으로 반환하게 합니다.x가 0보다 클때join()으로 한 문자열로 합친뒤 1 을 곱해number값으로 반환하게 합니다.
용현님 풀이
let x = -1234
const reverse = x => {
return x < 0 ? (-x).toString().split('').reverse().join('')*-1 : x.toString().split('').reverse().join('')*1;
}
위 코드와 다른점
- if문 대신 조건 연산자
?를 사용했다. - 메소드 들을 중첩해서 코드를 짧게 줄일수 있었다.
짧은 회고
오늘 처음 문제를 보고 풀려고 할때 음수 -값을 생각하지 않고 돌렸더니 NMN만 계속 나왔었다.
어떻게 풀어야할지 감이 안올때 용현님이 오셔서 용현님 생각을 듣고 코드를 적어보니 조금씩 이해가 됬던거 같다. 메소드 들을 저렇게 중첩해서 사용하는것과 조건 연산자 ?를 활용하는 방법을 알게된거 같아 배울점이 많았던 시간이였던거 같다 앞으로 더 생각해서 혼자 풀어볼수 있도록 노력해야겠다.
Author And Source
이 문제에 관하여(코드카타 #02), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@xodid157/코드카타-02저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)