효율적인 정수를 숫자 배열로 변환하는 방법
정수를 한 자리 숫자 배열로 변환하는 것은 프로그래밍에서 일반적인 작업입니다. 문자열 변환 및 반복을 사용하는 기존 접근 방식은 간단하지만 숫자가 큰 경우에는 비효율적입니다. 다음은 몇 가지 효율적인 변환 방법입니다.
재귀적 방법
한 가지 방법은 재귀를 사용하여 정수를 더 작은 부분으로 나누는 것입니다. 다음 C# 코드는 이 접근 방식을 보여줍니다.
<code class="language-c#">public Stack<int> NumbersIn(int value) { if (value == 0) return new Stack<int>(); var numbers = NumbersIn(value / 10); numbers.Push(value % 10); return numbers; } var numbers = NumbersIn(987654321).ToArray();</code>
비재귀적 스택 방식
스택을 사용하는 비재귀 버전도 구현할 수 있습니다.
<code class="language-c#">public int[] NumbersIn(int value) { var numbers = new Stack<int>(); for (; value > 0; value /= 10) numbers.Push(value % 10); return numbers.ToArray(); }</code>
직접 배열 방식
또 다른 효율적인 방법은 직접 배열 작업을 사용하는 것입니다.
<code class="language-c#">private static int[] NumbersIn(int value) { if (value == 0) { return new[] { 0 }; // C# 12 集合表达式 } value = Math.Abs(value); var digits = 1 + (int)Math.Log10(value); var buffer = new int[digits]; for (var counter = 0; counter < digits; counter++) { buffer[counter] = value % 10; value /= 10; } Array.Reverse(buffer); return buffer; }</code>
이러한 효율적인 방법은 정수를 한 자리 배열로 변환하는 빠르고 메모리 효율적인 방법을 제공하여 다양한 프로그래밍 작업에서 귀중한 도구가 됩니다.
위 내용은 정수를 숫자 배열로 효율적으로 변환하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!