Ming's develop story

알고리즘 - 자연수 뒤집어 배열로 만들기 (21.11.10) 본문

스파르타코딩클럽 - 항해99/항해99 Chapter2 - 알고리즘 기초

알고리즘 - 자연수 뒤집어 배열로 만들기 (21.11.10)

Ming 2021. 11. 10. 18:51
  • 자연수 뒤집어 배열로 만들기

문제 설명

자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다.

제한 조건

  • n은 10,000,000,000이하인 자연수입니다.

입출력 예

  n             return

12345 [5,4,3,2,1]

 

-----------------------------------------------------------------------------------------------------------------------------------내 풀이

1. 일단 자연수 n을 각 자리수 별로 분리시켜 주기 위해서 String() 함수를 사용하여 문자열로 변환시켜 줬다

 

2. 그리고 문자열 각각의 요소들을 하나씩 Number() 함수를 통해 숫자로 다시 변환시켜주며 answer 배열에 push 해준다

 

3. 이후 reverse() 함수를 통해 배열의 앞, 뒤를 뒤집어 줌으로써 이 문제를 해결했다.

 

다른 사람의 풀이

 

다른 분의 풀이를 보니 문자열, 숫자 두가지 방법을 다 깔끔하게 만드셔서 가져와 보았다.

문자풀이 - 

 

 

string.split(separator, limit)

split() 함수는 문자열을 'separator'로 잘라서, 'limit' 크기 이하의 배열에 잘라진 문자열을 저장하여 리턴합니다.

  • separator
    • 필수 아님
    • 문자열을 잘라 줄 구분자 (문자열 또는 정규식)
    • 값이 입력되지 않으면 문자열 전체를 배열에 담아서 리턴합니다.
  • limit
    • 필수 아님
    • 최대 분할 갯수

map() 함수는 괄호 안의 명령을 실행한 결과를 가지고 새로운 배열을 만들 때 사용한다

 

parseInt()  문자열로 된 부분에서 숫자(정수)만 뽑아서 변환해 준다

 

Number()  문자열 전체가 숫자일때 소수점까지 가져온다

 

 

숫자풀이 - 

 

do ~ while 문 - 조건에 벗어날때까지 명령문을 반복실행한다 

 

do{
조건식이 참이면 실행할 명령은 여기에 적습니다.
}
while(여기에는 조건식을 적습니다.)

 

Math.floor() 함수는 주어진 숫자와 같거나 작은 정수 중에서 가장 큰 수를 반환합니다

  -> 이것을 풀이 해보자면 정수로 반환을 해주는건데 5.05와 같은 수에서는 5가 반환이 되고 -5.65와 같은 수에서는 -6이 반환이 된다고 생각하면 된다

Comments