조금만 가자!


26

정수 N이 주어지면 다음 단계를 수행하십시오 (예를 들어 9를 사용하여).

  1. 입력 N을받습니다. ( 9)
  2. N을 base10에서 base2로 변환하십시오. ( 1001)
  3. 모든 비트를 1 씩 증가시킵니다. ( 2112)
  4. 결과를 base3으로 처리하고 다시 base10으로 변환하십시오. ( 68)
  5. 결과를 반환 / 출력합니다.

입력

합리적인 숫자 형식으로받을 수 있습니다.
N> 0 인 경우 만 처리하면됩니다.


산출

숫자 나 문자열로 반환하거나로 인쇄하십시오 stdout.


규칙

  • 이것은 가장 짧은 코드 인 바이트 코드 인 입니다.
  • 기본 허점은 금지되어 있습니다.

테스트 사례

1 -> 2
2 -> 7
5 -> 23
9 -> 68
10 -> 70
20 -> 211
1235 -> 150623
93825 -> 114252161

답변:


15

파이썬 2 , 31 바이트

f=lambda n:n and 3*f(n/2)+n%2+1

온라인으로 사용해보십시오!


3
이것이 어떻게 작동하는지 설명해 주시겠습니까?

+n%2+1가장 오른쪽에있는 이진 비트에 1을 더한 값을 반환 값에 더하고 , 1 개의 이진 비트에 의해 n/2오른쪽으로 쉬프트 n하고 , 오른쪽으로 이동 된 비트 3*f(n/2)에이 계산을 3 배 재귀 적으로 추가하고 0 n andn
Noodle9

11

x>>1같이 동일 x/2그렇지?
mbomb007

@ mbomb007 나는 아직 같은 생각하고 제안했지만 분명히 InfinityJS 가 됩니다 .. 온라인으로보십시오. (당신은 당신에게 대답, I4m2에 TIO 링크를 추가 할 수 있습니다 )
Kevin Cruijssen

2
@ mbomb007 번호 1>>1=0동안1/2=0.5
l4m2

4
@ mbomb007 ... 파이썬?
user202729

2
네. 파이썬 답변을보십시오. 그것이 그 이유에서 n/2작동하는 이유와 내가 여기에서 제안한 이유입니다.
mbomb007

9

자바 (JDK 10) , 44 바이트

long n(long x){return x<1?0:x%2+1+3*n(x/2);}

온라인으로 사용해보십시오!


1
어쩌면 -~도움이 될까요?
user202729

2
아니요, 우선 순위 규칙.
user202729

당신에게 같은 질문 : 왜 long? :) 그리고 여기 내 시퀀스 접근이 똑똑하다고 생각했습니다 .. 당신은 5 분 이내에 공원에서 그것을 날려 버렸습니다 ..>.> : '(
Kevin Cruijssen

@KevinCruijssen 당신과 함께 공정하게 ...
user202729



6

R , 55 43 바이트

function(n)(n%/%2^(x=0:log2(n))%%2+1)%*%3^x

온라인으로 사용해보십시오!

R의 표준 기본 변환 트릭을 ​​사용하고 증분 한 다음 3다시 거듭 제곱을 갖는 내적을 사용 하여 정수로 다시 변환합니다.

12 바이트를 삭제 한 @ user2390246 에게 감사 합니다!


이진수로의 변환은 최종 출력이 아니기 때문에 숫자의 순서는 중요하지 않습니다. 따라서 floor (log (n)) : 0 대신 0 : log (n)을 수행하고 일부 바이트를 저장할 수 있습니다. 43 바이트
user2390246

물론 @ user2390246 감사합니다.
주세페


6

Java 10, 81 52 바이트 (기본 변환)

n->n.toString(n,2).chars().reduce(0,(r,c)->r*3+c-47)

온라인으로 사용해보십시오.

-29 덕분에 바이트 @Holger .

설명:

n->{                         // Method with Long as both parameter and return-type
  n.toString(n,2)            //  Convert the input to a Base-2 String
  .chars().reduce(0,(r,c)->  //  Loop over its digits as bytes
    r*3+c-47)                //  Multiply the current result by 3, and add the digit + 1
                             //  (which is equal to increasing each digit by 1,
                             //  and then converting from Base-3 to Base-10)

자바 10 171 167 151 150 149 바이트 (서열)

n->{int t=31-n.numberOfLeadingZeros(n);return a(t+1)+b(n-(1<<t));};int a(int n){return--n<1?n+2:3*a(n)+1;}int b(int n){return n<1?0:n+3*b(n/=2)+n*2;}

@ musicman523 덕분에 -16 바이트로 변경 (int)Math.pow(2,t)되었습니다 (1<<t). @Holger
덕분에 -1 바이트로 변경 되었습니다 .(int)(Math.log(n)/Math.log(2))31-n.numberOfLeadingZeros(n)

온라인으로 사용해보십시오.

설명:

n->{                         // Method with Integer as both parameter and return-type
  int t=31-n.numberOfLeadingZeros(n);
                             //  2_log(n)
  return a(t+1)              //  Return A060816(2_log(n)+1)
         +b(n-(1<<t));}      //   + A005836(n-2^2_log(n))

// A060816: a(n) = 3*a(n-1) + 1; a(0)=1, a(1)=2
int a(int n){return--n<1?n+2:3*a(n)+1;}

// A005836: a(n+1) = 3*a(floor(n/2)) + n - 2*floor(n/2).
int b(int n){return n<1?0:n+3*b(n/=2)+n*2;}

시퀀스를 볼 때 :

2,  7,8,  22,23,25,26,  67,68,70,71,76,77,79,80,  202,203,205,206,211,212,214,215,229,230,232,233,238,239,241,242, ...

여러 하위 시퀀스를 볼 수 있습니다.

A053645(n):
0,  0,1,  0,1,2,3,  0,1,2,3,4,5,6,7,  0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,  ...

A060816(A053645(n)):
2,  7,7,  22,22,22,22,  67,67,67,67,67,67,67,67,  202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,  ...

A005836(A053645(n)+1)
0,  0,1,  0,1,3,4,  0,1,3,4,9,10,12,13,  0,1,3,4,9,10,12,13,27,28,30,31,36,37,39,40,  ...

따라서 요청되는 순서는 다음과 같습니다.

A060816(A053645(n)) + A005836(A053645(n)+1)

패턴을 찾는 데 어려움을 겪고 있으므로 위에서 찾은 것을 자랑스럽게 생각합니다. @ user202729 는 몇 분 안에 Java 에서 더 좋고 짧은 접근 방식을 발견 했습니다 .. : '(


다시는 n.toString(n,2).getBytes()... 내가 생각하는 수동 변환이 짧아 질 수 있습니다.
user202729

1
BTW 왜 long하지 int?
user202729

1
나는 당신이 밖으로 변경할 수 있습니다 시퀀스 버전의 생각 (int)Math.pow(2,t)에 대한 1<<t... 그리고 인라인 표현 있고 변수 난 (드롭 152 바이트 )
musicman523

1
실제로는 31-Integer.numberOfLeadingZeros(n)대신 대신 사용 (int)(Math.log(n)/Math.log(2))하지만 짧지는 않습니다. import static헤더에서 사용하지 않으면 규칙이 너무 멀리 확장 될 수 있습니다.
Holger

1
방금 첫 변형의 루프를 스트림 솔루션으로 변환하려고 시도했습니다.n -> n.toString(n,2).chars().reduce(0,(r,c)->r*3+c-47)
Holger





3

첨부 , 19 바이트

FromBase&3@1&`+@Bin

온라인으로 사용해보십시오!

이것은 세 가지 기능으로 구성됩니다.

  • FromBase&3
  • 1&`+
  • Bin

먼저 이진 ( Bin)으로 변환하고 증분 ( 1&`+) 한 다음 삼항 (FromBase&3 )으로 .

대안

비 포인트 프리, 21 바이트 : {FromBase[Bin!_+1,3]}

내장없이 57 바이트 : Sum@{_*3^(#_-Iota!_-1)}@{If[_>0,$[_/2|Floor]'(1+_%2),[]]}


3

레티 나 0.8.2 , 36 바이트

.+
$*
+`^(1+)\1
$1;1
^
1
+`1;
;111
1

온라인으로 사용해보십시오! 설명:

.+
$*

십진수에서 단항으로 변환합니다.

+`^(1+)\1
$1;1

반복적으로 2 씩 divmod하고 모듈러스 결과에 1을 더합니다.

^
1

첫 번째 숫자에도 1을 더하십시오.

+`1;
;111

단항 인코딩 된 기준 3에서 단항으로 변환합니다.

1

십진수로 변환합니다.


3

Japt , 6 바이트

¤cÄ n3
¤      // Convert the input to a base-2 string,
 c     // then map over it as charcodes.
  Ä    // For each item, add one to its charcode
       // and when that's done,
    n3 // parse the string as a base 3 number.

입력을 숫자로 받아서 숫자를 출력합니다.

온라인으로 사용해보십시오!


젠장! 왜 그렇게 생각하지 않았습니까? 잘 했어요
Shaggy

3

MATL , 12 7 6 바이트

BQ3_ZA

온라인으로 사용해보십시오!

저장되었습니다 주세페 덕분에 5 바이트를 하고 루이스 멘도 덕분에 5 바이트를 .

이전 7 바이트 답변 :

YBQc3ZA

온라인으로 사용해보십시오!

설명:

YB        % Convert to binary string
  Q       % Increment each element
   c      % Convert ASCII values to characters
    3     % Push 3
     ZA   % Convert from base 3 to decimal.

12 바이트에 대한 오래된 것 :

BQtz:q3w^!Y*

온라인으로 사용해보십시오!

오 마이, 그건 지저분했다 ... 그래서 이것이다 :`BQ3GBn : q ^! Y *.

설명:

               % Implicit input
B              % Convert to binary vector
 Q             % Increment all numbers
  t            % Duplicate
   z           % Number of element in vector
    :          % Range from 1 to that number
     q         % Decrement to get the range from 0 instead of 1
      3        % Push 3
       w       % Swap order of stack
        ^      % Raise 3 to the power of 0, 1, ...
         !     % Transpose
          Y*   % Matrix multiplication
               % Implicit output

3

C # (Visual C # 컴파일러) , 128 바이트

using System;using System.Linq;i=>{int z=0;return Convert.ToString(i,2).Reverse().Select(a=>(a-47)*(int)Math.Pow(3,z++)).Sum();}

온라인으로 사용해보십시오!

내가 System사용 Convert하고 있기 때문에 세고 있습니다 Math.


선택은 색인을 선택적 매개 변수로 제공합니다. 따라서 z변수를 제거 할 수 있습니다 . 또한 표현 본문에서 {, }return문을 제거 할 수 있습니다. 이 같은 그래서n=>Convert.ToString(n,2).Reverse().Select((x,i)=>(x-47)*Math.Pow(3,i)).Sum();
NtFreX


2

C, 32 27 바이트

n(x){x=x?x%2+1+3*n(x/2):0;}

user202729 의 Java 답변을 기반으로 합니다. 여기에서 온라인으로 사용해보십시오 . Kevin Cruijssen 에게 감사합니다5 바이트 골프 에게 합니다.

언 골프 버전 :

n(x) { // recursive function; both argument and return type are implicitly int
    x = // implicit return
    x ? x % 2 + 1 + 3*n(x/2) // if x != 0 return x % 2 + 1 + 3*n(x/2) (recursive call)
    : 0; // else return 0
}

당신은 대체하여 5 바이트를 저장할 수 있습니다 returnx=(가) 있도록 삼항를 반전 !더 이상 필요하지 않습니다 :n(x){x=x?x%2+1+3*n(x/2):0;}
케빈 Cruijssen

@KevinCruijssen 니스. 감사!
OOBalance


2

통신 도구 상자를 사용한 옥타브 , 33 32 바이트

@(x)(de2bi(x)+1)*3.^(0:log2(x))'

온라인으로 사용해보십시오!

를 사용 de2bi하고 모든 숫자를 증가 시켜 입력을 이진 벡터로 변환합니다 . 3 의 수직 벡터를 사용한 행렬 곱셈 이 적절한 거듭 제곱으로 발생합니다. 1, 3, 9, ...따라서 명시 적 호출없이 합을 얻습니다 sum.


이것은 매우 영리하지만 32 바이트 동안이 작업을 수행 할 수도 있습니다. 온라인으로 사용해보십시오!
Sanchises

그리고 MATLAB을 사용하면 @(x)base2dec(de2bi(x)+49,3)27 번도 할 수 있습니다 (MATLAB이 옥타브보다 관대 하지 않은 드문 경우)
Sanchises

2

PHP, 84 64 바이트

온라인으로 사용해보십시오!

원래 코드

function f($n){$b=decbin($n);echo base_convert($b+str_repeat('1',strlen($b)),3,10);}

온라인으로 사용해보십시오!

Cristoph 덕분에 php -R로 실행하면 더 적은 바이트

function f($n){echo base_convert(strtr(decbin($n),10,21),3,10);}

설명

function f($n){
$b=decbin($n);                    #Convert the iteger to base 2
echo base_convert(                  #base conversion PHP function
    $b+str_repeat('1',strlen($b)),  #It adds to our base 2 number
    3,                              #a number of the same digits length
    10);                            #with purely '1's
}

난의 존재를 아무 생각이 없었다 .... 내가 프로그래밍에 갈 loooogn 방법이 볼 때 여기입니다strtr
시스코 한이

1
죄송합니다<?="Will do!!"
Francisco Hahn


2

공백 , 117 바이트

[S S S N
_Push_0][S N
S _Duplicate_0][S N
S _Duplicate_0][T   N
T   T   _Read_STDIN_as_number][T    T   T   _Retrieve][N
S S S N
_Create_Label_OUTER_LOOP][S N
S _Duplicate][S S S T   S N
_Push_2][T  S T T   _Modulo][S S S T    N
_Push_1][T  S S S _Add][S N
T   _Swap][S S S T  S N
_Push_2][T  S T S _Integer_division][S N
S _Duplicate][N
T   S N
_If_0_jump_to_Label_INNER_LOOP][N
S N
S N
_Jump_to_Label_OUTER_LOOP][N
S S N
_Create_Label_INNER_LOOP][S S S T   T   N
_Push_3][T  S S N
_Multiply][T    S S S _Add][S N
T   _Swap][S N
S _Duplicate][N
T   S T N
_If_0_jump_to_Label_PRINT_AND_EXIT][S N
T   _Swap][N
S N
N
_Jump_to_Label_INNER_LOOP][N
S S T   N
_Create_Label_PRINT_AND_EXIT][S N
T   _Swap][T    N
S T _Output_integer_to_STDOUT]

문자 S(공백), T(탭) 및 N(줄 바꾸기)가 강조 표시로만 추가되었습니다.
[..._some_action]설명으로 만 추가되었습니다.

온라인으로 시도하십시오 (원시 공백, 탭 및 줄 바꾸기 만).

의사 코드의 설명 :

먼저 재귀 함수 int f(int n){return n<1?0:n%2+1+3*f(n/2);}를 반복 형식 (의사 코드)으로 변환했습니다.

Integer n = STDIN as integer
Add starting_value 0 to the stack
function OUTER_LOOP:
  while(true){
    Add n%2+1 to the stack
    n = n/2
    if(n == 0):
      Jump to INNER_LOOP
    Else:
      Jump to next iteration OUTER_LOOP

function INNER_LOOP:
  while(true){
    n = 3*n
    n = n + Value at the top of the stack (the ones we calculated with n%2+1)
    Swap top two items
    Check if the top is now 0 (starting value):
      Jump to PRINT_AND_EXIT
    Else:
      Swap top two items back
      Jump to next iteration INNER_LOOP

function PRINT_AND_EXIT:
  Swap top two items back
  Print top to STDOUT as integer
  Exit program with error: Exit not defined

그런 다음 기본 스택을 사용하여 스택 기반 언어 공백에서이 반복 접근 방식을 구현했습니다.

예제 실행 :

입력: 1

Command    Explanation                   Stack           Heap    STDIN   STDOUT   STDERR

SSSN       Push 0                        [0]
SNS        Duplicate top (0)             [0,0]
SNS        Duplicate top (0)             [0,0,0]
TNTT       Read STDIN as integer         [0,0]           {0:1}   1
TTT        Retrieve                      [0,1]           {0:1}
NSSSN      Create Label OUTER_LOOP       [0,1]           {0:1}
 SNS       Duplicate top (1)             [0,1,1]         {0:1}
 SSSTSN    Push 2                        [0,1,1,2]       {0:1}
 TSTT      Modulo top two (1%2)          [0,1,1]         {0:1}
 SSSTN     Push 1                        [0,1,1,1]       {0:1}
 TSSS      Add top two (1+1)             [0,1,2]         {0:1}
 SNT       Swap top two                  [0,2,1]         {0:1}
 SSSTSN    Push 2                        [0,2,1,2]       {0:1}
 TSTS      Int-divide top two (1/2)      [0,2,0]         {0:1}
 SNS       Duplicate top (0)             [0,2,0,0]       {0:1}
 NTSN      If 0: Go to Label INNER_LOOP  [0,2,0]         {0:1}
 NSSN      Create Label INNER_LOOP       [0,2,0]         {0:1}
  SSSTTN   Push 3                        [0,2,0,3]       {0:1}
  TSSN     Multiply top two (0*3)        [0,2,0]         {0:1}
  TSSS     Add top two (2+0)             [0,2]           {0:1}
  SNT      Swap top two                  [2,0]           {0:1}
  SNS      Duplicate top (0)             [2,0,0]         {0:1}
  NTSTN    If 0: Jump to Label PRINT     [2,0]           {0:1}
  NSSTN    Create Label PRINT            [2,0]           {0:1}
   SNT     Swap top two                  [0,2]           {0:1}
   TNST    Print top to STDOUT           [0]             {0:1}           2
                                                                                  error

온라인으로 시도하십시오 (원시 공백, 탭 및 줄 바꾸기 만).
오류와 함께 중지 : 종료가 정의되지 않았습니다.

입력: 4

Command    Explanation                   Stack           Heap    STDIN   STDOUT   STDERR

SSSN       Push 0                        [0]
SNS        Duplicate top (0)             [0,0]
SNS        Duplicate top (0)             [0,0,0]
TNTT       Read STDIN as integer         [0,0]           {0:4}   4
TTT        Retrieve                      [0,4]           {0:4}
NSSSN      Create Label OUTER_LOOP       [0,4]           {0:4}
 SNS       Duplicate top (4)             [0,4,4]         {0:4}
 SSSTSN    Push 2                        [0,4,4,2]       {0:4}
 TSTT      Modulo top two (4%2)          [0,4,0]         {0:4}
 SSSTN     Push 1                        [0,4,0,1]       {0:4}
 TSSS      Add top two (0+1)             [0,4,1]         {0:4}
 SNT       Swap top two                  [0,1,4]         {0:4}
 SSSTSN    Push 2                        [0,1,4,2]       {0:4}
 TSTS      Int-divide top two (4/2)      [0,1,2]         {0:4}
 SNS       Duplicate top (2)             [0,1,2,2]       {0:4}
 NTSN      If 0: Go to Label INNER_LOOP  [0,1,2]         {0:4}
 NSNSN     Jump to Label OUTER_LOOP      [0,1,2]         {0:4}
 SNS       Duplicate top (2)             [0,1,2,2]       {0:4}
 SSSTSN    Push 2                        [0,1,2,2,2]     {0:4}
 TSTT      Modulo top two (2%2)          [0,1,2,0]       {0:4}
 SSSTN     Push 1                        [0,1,2,0,1]     {0:4}
 TSSS      Add top two (0+1)             [0,1,2,1]       {0:4}
 SNT       Swap top two                  [0,1,1,2]       {0:4}
 SSSTSN    Push 2                        [0,1,1,2,2]     {0:4}
 TSTS      Int-divide top two (2/2)      [0,1,1,1]       {0:4}
 SNS       Duplicate top (1)             [0,1,1,1,1]     {0:4}
 NTSN      If 0: Go to Label INNER_LOOP  [0,1,1,1]       {0:4}
 NSNSN     Jump to Label OUTER_LOOP      [0,1,1,1]       {0:4}
 SNS       Duplicate top (1)             [0,1,1,1,1]     {0:4}
 SSSTSN    Push 2                        [0,1,1,1,1,2]   {0:4}
 TSTT      Modulo top two (1%2)          [0,1,1,1,1]     {0:4}
 SSSTN     Push 1                        [0,1,1,1,1,1]   {0:4}
 TSSS      Add top two (1+1)             [0,1,1,1,2]     {0:4}
 SNT       Swap top two                  [0,1,1,2,1]     {0:4}
 SSSTSN    Push 2                        [0,1,1,2,1,2]   {0:4}
 TSTS      Int-divide top two (1/2)      [0,1,1,2,0]     {0:4}
 SNS       Duplicate top (0)             [0,1,1,2,0,0]   {0:4}
 NTSN      If 0: Go to Label INNER_LOOP  [0,1,1,2,0]     {0:4}
 NSSN      Create Label INNER_LOOP       [0,1,1,2,0]     {0:4}
  SSSTTN   Push 3                        [0,1,1,2,0,3]   {0:4}
  TSSN     Multiply top two (0*3)        [0,1,1,2,0]     {0:4}
  TSSS     Add top two (2+0)             [0,1,1,2]       {0:4}
  SNT      Swap top two                  [0,1,2,1]       {0:4}
  SNS      Duplicate top (1)             [0,1,2,1,1]     {0:4}
  NTSTN    If 0: Jump to Label PRINT     [0,1,2,1]       {0:4}
  SNT      Swap top two                  [0,1,1,2]       {0:4}
  NSNN     Jump to Label INNER_LOOP      [0,1,1,2]       {0:4}
  SSSTTN   Push 3                        [0,1,1,2,3]     {0:4}
  TSSN     Multiply top two (2*3)        [0,1,1,6]       {0:4}
  TSSS     Add top two (1+6)             [0,1,7]         {0:4}
  SNT      Swap top two                  [0,7,1]         {0:4}
  SNS      Duplicate top (1)             [0,7,1,1]       {0:4}
  NTSTN    If 0: Jump to Label PRINT     [0,7,1]         {0:4}
  SNT      Swap top two                  [0,1,7]         {0:4}
  NSNN     Jump to Label INNER_LOOP      [0,1,7]         {0:4}
  SSSTTN   Push 3                        [0,1,7,3]       {0:4}
  TSSN     Multiply top two (7*3)        [0,1,21]        {0:4}
  TSSS     Add top two (1+21)            [0,22]          {0:4}
  SNT      Swap top two                  [22,0]          {0:4}
  SNS      Duplicate top (0)             [22,0,0]        {0:4}
  NTSTN    If 0: Jump to Label PRINT     [22,0]          {0:4}
  NSSTN    Create Label PRINT            [22,0]          {0:4}
   SNT     Swap top two                  [0,22]          {0:4}
   TNST    Print top to STDOUT           [0]             {0:4}           22
                                                                                  error

온라인으로 시도하십시오 (원시 공백, 탭 및 줄 바꾸기 만).
오류와 함께 중지 : 종료가 정의되지 않았습니다.


이 시점에서 왜 어셈블리를 작성하지 않습니까? 또한 나는 내 대답에 약간 단순 반복적 인 방법이 codegolf.stackexchange.com/a/161833/17360
qwr

파이썬 의사 코드를 더 단순화했습니다.
qwr

1
@qwr Python 코드는 표시된 Java 코드와 거의 동일합니다. Java는 더 장황하고 오류가 발생하기 쉽습니다. 유일한 차이점은 Java 코드가 중첩 된 while 루프이며 귀하의 코드가 분리되어 있다는 것입니다. Java 에서도이 작업을 수행 할 수 있지만 공백에 중첩되어 있기 때문에 Java 의사 코드에서도 작성하도록 선택했습니다. 또한 공백은 스택에 남은 항목 수를 알 수있는 방법이 없으므로 시작시 0을 푸시하고 코드의 INNER_LOOP 부분에서 스왑, 0인지 확인하고 다시 바꿉니다. 그러나 좋은 의회 답변. 그래서 +1했습니다. :)
Kevin Cruijssen

나는 여전히 n < 1n이 0이 될 때까지 값을 누른 다음 경계 값 (0)에 도달 할 때까지 팝 하여 검사를 제거 할 수 있다고 생각합니다 . 스택 깊이는 명시 적으로 저장 될 필요가 없으며 교환 할 필요도 없습니다 (lisp에서와 같이 상위 두 값을 교환하려는 경우)
qwr

@qwr " 그래도 n이 0이 될 때까지 값을 눌러 n <1 검사를 제거 할 수 있다고 생각합니다 . 음 .. n < 1(또는 n == 0) IS n가 0이 될 때까지 값을 푸시 하는지 확인합니다 . " 스택 깊이는 명시 적으로 저장 될 필요가 없습니다 "Java에서는 그렇지 않습니다. 그렇지 않으면 배열을 만들 수 없습니다. java.util.Stack대신 사용할 수는 있지만 배열을 사용하여 덜 장황하게 만들었습니다. 공백에서 스택은 정의되지 않은 크기입니다.
Kevin Cruijssen






당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.