개발의 흔적
알고리즘 테스트# 13. 자연수 뒤집어 배열로 만들기 본문
안녕하세요.
프로그래머스에 있는 "자연수 뒤집어 밸로 만들기 " 알고리즘 문제를 풀어보겠습니다.
문제 : 자연수 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