팀 1
함수에 전달되는 인자는 정수인 숫자입니다. 먼저 toString();
메서드를 이용해 인자를 문자열로 변환해 stringX 라는 변수에 담았습니다.
arr라는 빈 배열을 선언해 주었습니다.
반복문을 사용해 arr에 stringX의 문자들의 순서를 반대로 담아주었습니다.
여기까지 진행했을 때 arr 배열은 다음과 같습니다.
1. x = 12345 → arr = [5, 4, 3, 2, 1]
2. x = -1234 → arr = [4, 3, 2, 1, -]
3. x = 1230 → arr = [0, 3, 2, 1]
만약 들어온 수(x)가 음수라면 arr의 가장 마지막 요소를 삭제하고(pop()
) 배열을 한 칸씩 뒤로 보내고 0번 인덱스에 '-'를 넣어 주었습니다.(unshift('-')
)
([0, 3, 2, 1] 의 경우 parseInt를 사용하면 자동으로 0이 제거되어 따로 나누지 않았습니다.)
arr를 join()
메서드를 사용해 문자열로 바꾸어줍니다. 이때 인자로 ''
를 넣어주지 않으면 '4,3,2,1'
과 같은 문자열로 바뀌게 됩니다.
바뀐 문자열을 다시 숫자로 바꾸어줍니다.
팀 2
함수가 받은 인자(x)가 -1 보다 클 경우
String()
객체를 사용해 x를 문자열로 변환후 split('')
메서드를 이용해 배열로 변환해줍니다.
배열에 reverse()
메서드를 사용해 순서를 반전시키고 join('')
메서드로 다시 문자열로 합쳐줍니다.
여기까지 진행했을 때 생긴 문자열은 다음과 같습니다.
문자열을 Number()
객체를 이용해 숫자 값으로 변환해줍니다.
함수가 받은 인자(x)가 -1 보다 작거나 같을 경우
Math.abs()
이용해 x 의 절댓값을 구한뒤 String()
객체를 사용해 문자열로 변환합니다.
문자열을 split('') 메서드를 사용해 배열로 바꿔준 뒤 요소의 순서를 반전합니다.
join('') 메서드를 사용해 반전된 배열을 문자열로 다시 합쳐줍니다.
여기까지 진행했을 때 생기는 문자열은 다음과 같습니다.
x = -1234 → '4321'
문자열을 Number()
객체를 이용해 숫자 값으로 변환해주고 -1 을 곱해 음수로 만들어줍니다.