[프로그래머스] 자연수 뒤집어 배열로 만들기 (reverse, map(Number), n.toString, split(''))

조아연·2024년 6월 26일

JavaScript 공부

목록 보기
13/24

JavaScript 코딩테스트 (17일) 자연수 뒤집어 배열로 만들기

자연수 뒤집어 배열로 만들기

정수의 순서를 바꿀 수 있는 함수를 알아야 하기에 chatGPT에 그 함수를 물어봤더니, reverse 이라는 함수를 통해 바꿀 수 있다는 것을 알았다.

Reversing.n return 요런 형식으로 시키면 될 것이라고 판단했다.

첫번째 답변

function solution(n) 
    var answer = []
    return n.reverse ();
}

걍 순서만 바꿔서 리턴만 시켜주면 될 것 같아서 간단하게 봤는데 너무 간단하게 본 것 같다..

두번째 답변

function solution(n) {
    var answer = [];
    n.reverse;
    return answer;
}

그래도 수식이 돌아가기는 한다.
n.reverse; 수식이 아에 인식되지 못하고 있는 것 같다.

chatgpt에 다시 물어봤더니, 저번 13일차 자리수 더하기 문제풀었을 때 처럼 정수를 문자열로 바꾸어 배열로 만드는 절차가 필요했다.

다시보니 입력되는 n값 형식이 그냥 12345 요런 형식이었어서, 컴퓨터 입장에서는 배열으로 나열해야 함을 인지못했을 것 같다.

세번째 답변

수식은 돌아갔는데, 결과가 배열로 나열해야한다.
중간에 배열로 나열할 수 있는 함수가 하나 더 필요했다.

배열의 각 요소를 숫자로 변환합니다 (map(Number)).

위 함수를 추가했다.
그리고 나서 수식을 일부 수정했는데, 띄어쓰기 하나로 수식을 인식못하는 재밌는 상황을 발견했다.

split(' ') ('') 요 따옴표 사이에 띄어쓰기 하나만 추가했을 뿐인데 바로 중간에서 코드를 인식하지 못해서 뒤에 함수까지 연산이 이루어지지 않아 오답으로 나왔던 것이다.

네번째 답변

function solution(n) {
    var answer = [];
    return answer = n.toString().split('').reverse().map(Number);
    
}

chatGPT의 힘도 있었지만 혼자 스스로 해보고 안되면 물어보고 그걸 이해하려고 노력하니 재미있었다.

제출하고나서 다른사람 풀이도보니까
뒤에서부터 n을 순서대로 배열로 더해서 for문으로 푼 것 도 있더라..!

깨달은 점(OR 복습)

  • map(Number) : 배열의 각 요소를 숫자로 반환합니다.

  • reverse : 배열을 뒤집습니다.

  • @.toString() : 숫자 n을 문자열로 반환합니다.

  • split('') : 문자열을 각 자리 숫자로 나누어 배열로 만듭니다.

profile
비전공자 QA의 자기개발 공부노트

0개의 댓글