코드카타 #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.)