개발의 흔적

알고리즘 테스트# 13. 자연수 뒤집어 배열로 만들기 본문

카테고리 없음

알고리즘 테스트# 13. 자연수 뒤집어 배열로 만들기

남들에게 도움을 주는 백엔드 개발자가 되자 2020. 7. 23. 15:45

안녕하세요.

 

프로그래머스에 있는 "자연수 뒤집어 밸로 만들기 " 알고리즘 문제를 풀어보겠습니다.

 

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

 

출력 : 

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

 

코드 : 

 

* 문제 해설 *

 

정수 : 12345

 

정수를 뒤집기 위해서 정수의 길이를 구합니다.

원래는 정수를 하나씩 잘라서 마지막 인덱스 값부터 차례대로 값을 처리하려고했지만

10으로 나누어 나머지값을 넣었습니다.

 

 

* 코드 해설 *

 

현재 정수 n의값은 길이를 알수가없습니다.

길이를 알기위해 자료형을 변환 시켜야합니다.

Long.toString의 함수를 이용하여 String 길이를 저장합니다.

저장한 길이를 int[] 배열의 할당합니다.

 

그후 저장한 길이만큼 반복후 

정수의 값을 10으로 나눈 후 나머지값을 저장합니다.

그후 정수의 몫의값이 10으로 나누어지 값으로 저장되야합니다.

answer[i] = (int)(n%10)을 하면

12345 % 10 -> 5

12345 / 10 - > 1234 나옵니다.

 

즉 잘라서 마지막 인덱스값을 집어넣는것보다 코드가 좀더 짧아지고 효율성이 늘어납니다.

 

좋은 코드 있으면 공유바랍니다.

 

Comments