먼저 문제를 보자
정수형 숫자를 함수에 넣어주면 값을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴 하라는 문제이다.
내가 해결 한 방식은 다음과 같다.
1. 먼저 정수형인 n값을 문자열로 바꾼 다음 split("")함수로 띄워쓰기 없이 box 라는 변수에 값을 저장 한다
--> box === [ '1', '2', '3', '4', '5' ]
2. box의 길이를 length라는 변수에 저장한다. ( pop()함수를 이용하기 때문에 for문안에서 box.length의 길이가 변할수 있기때문 )
3. 변하지 않는 고정값인 length를 이용하여 box의 가장 오른쪽에 있는 원소부터 answer에 push
---> answer === ['5', '4', '3', '2', '1']
4. 다시 정수형으로 변환 해주기위해 answer의 원소를 모두 map함수를 이용하여 새로운 배열로 만들어주는데 이때 paresInt를통하여 정수 형으로 변환
다른 사람들의 코드를 확인해보자
정수형인 n값에 n+""하면 정수형이 문자열로 타입이 바뀌게 된다. (이건 처음알았다...)
문자열로 변경된 값을 split("")을 이용하여 띄워쓰기없이 모든 원소를 분해시키고 reverse()라는 함수로 값을 뒤집어 주었다(reverse함수 알고 있었지만 자주 사용하는 함수가 아니다 보니 존재자체를 까먹고 있었따..) map은 동일하게 정수형으로 모든 원소를 변경 시켜주었따
내가 푼 코드에 비해 다른 사람들의 코드는 훨씬 짧아 내장함수의 종류를 까먹지 않고 필요할때 사용하는 것이 중요하다고 느껴졌다
정수형에 + "" 하면 문자열로 변한다는 사실과 reverse함수를 까먹지 말아야겟다!
'알고리즘 > 프로그래머스' 카테고리의 다른 글
프린터.js (0) | 2021.08.11 |
---|---|
실패물 (0) | 2021.07.23 |
숫자문자열과 영단어 (0) | 2021.07.22 |