피라미드 (또는 고속도로) 출력


39

비어 있지 않은 문자열 s, 짝수 길이 및 높이를 나타내는 양의 정수 n이 주어지면 다음 규칙을 사용하여 피라미드를 구성하십시오.

피라미드는 비어 있지 않은 n 개의 라인을 포함해야합니다. 후행 줄 바꿈이 허용됩니다. 각각의 1 <= i <= n에 대해, i 번째 라인은 각각의 개별 문자가 그 자리에서 i 번 반복되는 문자열을 포함해야한다; abcd는 3 번 반복되어 aaabbbcccddd가됩니다. 각 선의 가운데가 수직으로 정렬되도록 각 선은 패딩 공간으로 가운데에 배치해야합니다. 각 줄의 끝에 후행 공백이 허용됩니다. 첫 줄 앞에 최대 하나의 선행 줄 바꿈이 있지만 다른 공백은 없어야합니다.

입력 문자열은 회문임을 보증하지 않습니다.

테스트 사례

s = 'o-o  o-o', n = 10:

                                    o-o  o-o                                    
                                oo--oo    oo--oo                                
                            ooo---ooo      ooo---ooo                            
                        oooo----oooo        oooo----oooo                        
                    ooooo-----ooooo          ooooo-----ooooo                    
                oooooo------oooooo            oooooo------oooooo                
            ooooooo-------ooooooo              ooooooo-------ooooooo            
        oooooooo--------oooooooo                oooooooo--------oooooooo        
    ooooooooo---------ooooooooo                  ooooooooo---------ooooooooo    
oooooooooo----------oooooooooo                    oooooooooo----------oooooooooo

1
Sandbox Post 는 user42649에 의해 생성되었으며, 삭제 될 때까지 내 계정이었습니다.
HyperNeutrino 2016 년

이 질문에 대한 함수의 출력이 각각 줄을 나타내는 문자열 목록이거나 줄 바꿈으로 결합되어야합니까?
notjagan 2016 년

7
피라미드 출력 당신은 반드시 고속도로를 의미합니다 !
Luis Mendo

아즈텍 피라미드처럼 보입니다!
QBrute

3
@QBrute Na. Goa'uld에 의해 만들어졌다 :)
theblitz

답변:


12

05AB1E , 9 바이트

γ².D)ƶJ.C

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


γAdnan의 대답에서 영감을 얻은 것은 짧은 시간이었습니다. 그러나 S작동합니다.


γ          # Split into runs.    | ['0','-','0']
 ².D)      # Push n times.       | [['0','-','0'],['0','-','0'],['0','-','0']]
     ƶ     # Lift by index.      | [['0','-','0'],['00','---','00'],['000','---','000']]
      J    # Inner join.         | ['0-0','00--00','000---000']
       .C  # Center.             | Expected output.

나는 누군가가 실제로 당신의 잘못된 게시물을 내리고 있다고 믿을 수 없습니다 : /
Jonathan Allan

1
@JonathanAllan 피할 수없는 실수의 빈도는 어느 정도 부정적 가치가 있습니다.
Magic Octopus Urn

12

05AB1E , 11 바이트

F²γN>×J}».C

05AB1E 인코딩을 사용합니다 . 온라인으로 사용해보십시오!


168 이상의 입력으로 펑키하게 시작합니다. 그렇지 않으면 좋습니다!
tuskiomi 2016 년

@carusocomputing »은 공백으로 내부 배열을 조인합니다. 그것을 대체하면 효과 J가 있습니다 (다른 답변으로 게시해야한다고 생각합니다).
Adnan

아! 항상 그렇게 되었습니까? 그렇다면, 시원합니다. 고마워요
Magic Octopus Urn

8

젤리 , 14 13 바이트

LH×Ḷ}Ṛ⁶ẋżxЀY

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

작동 원리

LH×Ḷ}Ṛ⁶ẋżxЀY  Main link. Arguments: s (string), n (integer)

L              Get the length l of s.
 H             Halve it, yielding l/2.
   Ḷ}          Unlength right; yield [0, ... n-1].
  ×            Compute [0, l/2, ..., l(n-1)/2].
     Ṛ         Reverse; yield [l(n-1)/2, ..., l/2, 0].
      ⁶ẋ       Space repeat; create string of that many spaces.
         xЀ   Repeat in-place each; repeat the individual characters of s
               1, ..., n times, yielding an array of n strings.
        ż      Zipwith; pair the k-th string of spaces with the k-th string of 
               repeated characters of s.
            Y  Sepatate the resulting pairs by linefeeds.

8

C # (. NET 코어) , 139137136130 바이트

using System.Linq;s=>n=>Enumerable.Range(0,n).Select(i=>"".PadLeft((n+~i)*s.Length/2)+string.Concat(s.Select(c=>new string(c,i))))

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

string도면의 선으로 s 의 열거를 반환합니다 . 일단 가입하면 결과는 다음과 같습니다.

                        _  _
                    ಠಠ__ಠಠ    ಠಠ__ಠಠ
                ಠಠಠ___ಠಠಠ      ಠಠಠ___ಠಠಠ
            ಠಠಠಠ____ಠಠಠಠ        ಠಠಠಠ____ಠಠಠಠ
        ಠಠಠಠಠ_____ಠಠಠಠಠ          ಠಠಠಠಠ_____ಠಠಠಠಠ
    ಠಠಠಠಠಠ______ಠಠಠಠಠಠ            ಠಠಠಠಠಠ______ಠಠಠಠಠಠ
ಠಠಠಠಠಠಠ_______ಠಠಠಠಠಠಠ              ಠಠಠಠಠಠಠ_______ಠಠಠಠಠಠಠ
  • Kevin Cruijssen 덕분에 2 바이트가 절약되었습니다!
  • Value Ink 덕분에 1 바이트 절약!
  • LiefdeWen 덕분에 6 바이트가 절약되었습니다!

1
에서 괄호를 제거하여 2 바이트를 절약 할 수 있습니다 (n-i-1)*s.Length/2. 그리고 나는 당신의 테스트 케이스를 좋아합니다. +1 :)
Kevin Cruijssen

10
ಠ_ಠ강화
매직 문어 Urn

1
필수 " ~i는 " 와 동일 -i-1하므로로 변경 (n-i-1)하여 바이트를 절약 할 수 있습니다 (n+~i).
Value Ink

1
그리고 s=>n=>...다른 바이트를 위해 카레를 사용할 수 있습니다
LiefdeWen

1
죄송합니다 @CarlosAlejo 별도의 편집을 게시하지만 당신은 또한 대체 할 수 new string(' '..."".PadLeft(...
LiefdeWen

7

체다 , 71 64 바이트

@ValueInk 덕분에 7 바이트 절약

(s,n)->(1|>n=>i->(s.len*(n-i)/2)*" "+s.sub(/./g,"$&"*i)).asLines

온라인으로 사용해보십시오! 조금 설명을 추가하겠습니다

설명

(string, count)->(
   1 |> count          // 1..count, the amount of rep/char per line
     => i -> (         // Map over the range       
        s.len*(n-i)/2  // Calculate amount of spaces and repeat by it.
     )*" "
     + s.sub(/./g,"$&"*i) // replace each character, duplicate the amount of times `*i`
).asLines              // return the above joined with newlines

문제 없어요! Cheddar center에 Ruby 응답과 마찬가지로 사용할 수 있는 기능 이 있는지 궁금합니다 . 바이트를 절약 할 수 있기 때문입니다.
Value Ink


5

자바 (8) 188 186 185 183 181 173 바이트

s->n->{String r="";int l=s.length()/2,x=l*n,i,j;for(i=0;i++<n;r+="\n"){r+=s.format("%"+x+"s",r).substring(0,x-i*l);for(char c:s.toCharArray())for(j=0;j++<i;r+=c);}return r;}

버그 수정으로 인해 -2 바이트 (185 → 183) ( n+1대신 대신 라인 을 출력 하고 있음 n). 버그 수정으로 인해 바이트가 절약되는 경우가 자주 발생하지 않습니다. :) -OlivierGrégoire
덕분에 -2 바이트 (183 → 181)

설명:

여기에서 시도하십시오.

s->n->{                          // Method with String and integer parameter and String return-type
  String r="";                   //  Return-String
  int l=s.length()/2,            //  Halve the length of the input-String
      x=l*n,                     //  Halve the length * the input integer
      i,j;                       //  Some temp integers
  for(i=0;i++<n;                 //  Loop (1) `n` times
      r+="\n"){                  //    And after every iteration, add a new-line
    r+=s.format("%"+x+"s",r).substring(0,x-i*l);
                                 //   Add the appropriate trailing spaces
    for(char c:s.toCharArray())  //   Loop (2) over the characters of the String
      for(j=0;j++<i;r+=c);       //    And repeat each one more than in the previous row
                                 //   End of loop (2) (implicit / single-line body)
  }                              //  End of loop (1)
  return r;                      //  Return the result-String
}                                // End of method

1
정수를 먼저 이동 r="",q=s.format("%"+x+"s",r)하면 2 바이트를 절약 하도록 선언 할 수 있습니다 . 단지 2 바이트에 대한 많은 움직임 :(
Olivier Grégoire

1
@ OlivierGrégoire 감사합니다! s.format("%"+x+"s",r)직접 사용함으로써 골프 후 8 바이트를 더 절약 할 수있었습니다. :)
Kevin Cruijssen 2016

4

자바 스크립트 (ES6), 85 바이트

카레 구문으로 입력을 (string)(height)받습니다. 주요 줄 바꿈을 포함합니다.

s=>g=(n,p=`
`)=>n?g(n-1,p+' '.repeat(s.length/2))+p+s.replace(/./g,c=>c.repeat(n)):''

데모


마지막 줄 앞에 공백이 있습니다. 허용됩니까?
Charlie

@CarlosAlejo 아, 그것은 막판 업데이트의 의도하지 않은 부작용이었습니다. 이제 수정되었습니다. 보고 해 주셔서 감사합니다!
Arnauld

4

, 19 바이트

F⁺¹N«J±×ι÷Lη²ιFηFικ

온라인으로 사용해보십시오! 링크는 자세한 버전의 코드입니다. 설명:

F⁺¹N«       for (Plus(1, InputNumber())) {

반복되는 줄이 필요합니다 1..n. 루프 0은 기본적으로 no-op이므로이를 달성하는 가장 쉬운 방법은 0에서 n으로 반복하는 것입니다.

J±×ι÷Lη²ι       JumpTo(Negate(Times(i, IntDivide(Length(h), 2))), i);

결과 라인이 중앙에 오도록 커서를 놓습니다.

FηFικ           for (h) for (i) Print(k);

그리고 이것은 각 문자를 반복해서 인쇄하는 간단한 방법 i입니다.


4

파이썬 2 , 75 77 바이트

s,n=input()
for i in range(n):print''.join(c*-~i for c in s).center(len(s)*n)

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


Dang, 나는 거의 같은 대답을했지만 함수가 줄 목록을 반환 할 수 있는지 확실하지 않았습니다. 그렇다면 별도의 답변으로 내 글을 게시하지만 그렇지 않은 경우 게시와 너무 비슷합니다.
notjagan

3
와우, center내장이 있습니까? 나는 때때로 때때로 문서를 읽을 필요가있다 : P
HyperNeutrino

잘못된 출력을 반환합니다. 여기에는 선행 빈 줄과 n-1행이 있습니다.
Value Ink

마지막 줄 앞에 공백이 있습니까?
Charlie

@FryAmTheEggman 사실 일 수도 있지만 9입력이 다음과 같은 경우에는 여전히 피라미드 라인을 반환 합니다 10.
Value Ink


4

자바 스크립트, 105 바이트

(s,n)=>Array(N=n).fill().reduce(a=>a+'\n'+' '.repeat(--n*s.length/2)+s.replace(/./g,_=>_.repeat(N-n)),'')

몇 년 후, 스트레치 매니악이 돌아 왔습니다.


각 줄에 선행 공백이 너무 많습니다.
얽히고 설킨

: 여기에 내가 당신을보기 전에 해낸이 방법의 99 바이트 ES8 버전의 s=>n=>[...Array(x=n)].reduce(a=>a+'\n'.padEnd(--x*s.length/2+1)+s.replace(/./g,c=>c.repeat(n-x)),'')사용자가 교체해야합니다 - '역 따옴표로들과 \n리터럴 개행.
얽히고 설킨


3

APL (Dyalog) , 33 31 바이트

불필요한 괄호를 제거하여 @ZacharyT 덕분에 2 바이트 골프

{↑((' '/⍨(.5×≢⍵)×⍺-⊢),⍵/⍨⊢)¨⍳⍺}

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

설명

오른쪽 인수 는 문자열이고 왼쪽 인수 는 숫자입니다.

{↑((' '/⍨(.5×≢⍵)×⍺-⊢),⍵/⍨⊢)¨⍳⍺}
                             ⍳⍺      Range 1 .. 
  (                                For each element (let's call it i) do:
                      ⍵/⍨⊢          Replicate ⍵ i times
  (                 ),               Concatenated with
         (.5×≢⍵)×⍺-⊢                (⍺-i)×(len(⍵)×0.5)
   ' '/⍨                                spaces
 ↑                                    Convert the resulting array to a 2D matrix

당신은 주위에 parens가 필요 ⍺-⊢합니까?
Zacharý

@ZacharyT 당신 말이 맞아요, 난 필요하지 않습니다. 감사합니다 :)
Kritixi Lithos

3

SWI 프롤로그, 398 바이트

가장 컴팩트 한 솔루션은 아니지만 (내장 프로 시저를 사용하는 대신 휠을 재개발 할 수있는 곳일 수도 있음) 작동합니다.

w(0).
w(X):-write(' '),Y is X-1,w(Y).
s(S,N):-string_length(S,X),Y is div(X,2)*N,w(Y).
d(S,N,R):-atom_chars(S,A),e([],A,N,R).
e(B,[H|T],N,R):-l(B,H,N,I),e(I,T,N,R).
e(B,[],_,B).
a([], L, L).
a([H|T],L,[H|R]):-a(T,L,R).
l(L,_,0,L).
l(L,I,N,R):-M is N-1,l(L,I,M,T),a(T,[I],R).
o([]):-nl.
o([H|T]):-write(H),o(T).
p(S,N):-p(S,N,N).
p(_,0,_).
p(S,N,L):-Q is N-1,p(S,Q,L),d(S,N,R),W is L-N,s(S,W),o(R).

테스트:

?- p("o-o  o-o",10).
                                    o-o  o-o
                                oo--oo    oo--oo
                            ooo---ooo      ooo---ooo
                        oooo----oooo        oooo----oooo
                    ooooo-----ooooo          ooooo-----ooooo
                oooooo------oooooo            oooooo------oooooo
            ooooooo-------ooooooo              ooooooo-------ooooooo
        oooooooo--------oooooooo                oooooooo--------oooooooo
    ooooooooo---------ooooooooo                  ooooooooo---------ooooooooo
oooooooooo----------oooooooooo                    oooooooooo----------oooooooooo
true .

설명:

ws 는 적절한 양의 선행 공백을 씁니다.

w(0).
w(X):-write(' '),Y is X-1,w(Y).
s(S,N):-string_length(S,X),Y is div(X,2)*N,w(Y).

d 는 문자의 "중복"을 관리하며 e 는 재귀 기능입니다.

//d(String, Number of repetitions, Result)
d(S,N,R):-atom_chars(S,A),e([],A,N,R).
e(B,[H|T],N,R):-l(B,H,N,I),e(I,T,N,R).
e(B,[],_,B).

al 결과에 추가합니다 (내장 프로 시저가있을 수 있습니까?).

a([], L, L).
a([H|T],L,[H|R]):-a(T,L,R).
l(L,_,0,L).
l(L,I,N,R):-M is N-1,l(L,I,M,T),a(T,[I],R).

o 출력을 만듭니다.

o([]):-nl.
o([H|T]):-write(H),o(T).

그리고 마지막으로 p주요 방법입니다 .

p(S,N):-p(S,N,N).
p(_,0,_).
//p(String, Current level, Number of levels) :- go to the bottom, create pyramide level, write whitespaces, write the level
p(S,N,L):-Q is N-1,p(S,Q,L),d(S,N,R),W is L-N,s(S,W),o(R).

3

Japt , 20 + 1 = 21 19 + 1 = 20 14 바이트

행 배열을 출력합니다. 허용되지 않으면 2 바이트를 추가하십시오.

Võ@®pXÃù°V*UÊz

그것을 테스트


설명

      :Implicit input of string U & integer V
Võ    :Generate an array of integers from 1 to V, inclusive
@     :Map over the elements of the array
®     :Map over the characters of U
p     :Repeat the current character ...
X     :  X (the current element) times.
à    :End string mapping.
ù     :Left pad each line with spaces to length...
°V    :  V incremented by one...
*     :  multiplied by...
UÊ    :  the length of U...
z     :  divided by 2.
      :Implicit output of resulting array.

나는 당신이 바꿀 수 있다고 생각 SpUl에 ... 대기, 신경 끄시 고 :( 당신은 비록 대체하여 바이트를 저장할 수 (V-XXnV내가 틀리지 않는 경우.
ETHproductions

예, 잊어 버렸습니다 n. @ETHproductions에게 감사합니다.
얽히고 설킨

2

PHP, 113 바이트 :

for([,$s,$n]=$argv;$i++<$n;)for(print($f=str_pad)("
",($n-$i)*strlen($s)/2+!$p=0);~$c=$s[$p++];)echo$f($c,$i,$c);

온라인으로 실행 php -nr '<code>' '<string>' <N>하거나 테스트하십시오 .

고장

# import input, loop $i from 1 to $n
for([,$s,$n]=$argv;$i++<$n;)
    # 1. print newline and padding, reset $p
    for(print($f=str_pad)("\n",($n-$i)*strlen($s)/2+!$p=0);
    # 2. loop $c through string
        ~$c=$s[$p++];)
        # print repeated character
        echo$f($c,$i,$c);


2

T-SQL, 223 바이트

DECLARE @ char(99),@n INT,@i INT=1,@j INT,@p varchar(max)SELECT @=s,@n=n FROM t
R:SET @j=0SET @p=SPACE((@n-@i)*len(@)/2)C:SET @j+=1SET @P+=REPLICATE(SUBSTRING(@,@j,1),@i)IF @j<LEN(@)GOTO C
PRINT @p SET @i+=1IF @i<=@n GOTO R

입력은 IO 표준에 따라 열이 sn 인 기존 테이블 t 를 통해 이루어집니다. .

많이 설명하지는 않지만 @i행에 사용하고 시간 @j의 문자열 문자를 걷는 매우 간단한 중첩 루프입니다 REPLICATED @i.

DECLARE @ char(99),@n INT,@i INT=1,@j INT,@p varchar(max)
SELECT @=s,@n=n FROM t
R:
    SET @j=0
    SET @p=SPACE((@n-@i)*len(@)/2) 
    C:
        SET @j+=1
        SET @P+=REPLICATE(SUBSTRING(@,@j,1),@i)
    IF @j<LEN(@)GOTO C
    PRINT @p
    SET @i+=1
IF @i<=@n GOTO R

2

R , 125 95 바이트

function(S,n)for(i in 1:n)cat(rep(' ',(n-i)/2*nchar(S)),rep(el(strsplit(S,'')),e=i),sep="",'
')

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

설명:

그것은 분할 문자열과 요소의 반복, 매우 간단합니다 i회를 rep(s,e=i)( e짧은위한 each우리 루프 등). 까다로운 부분은 rep('',(n-i)/2*length(s)+1)입니다. 이것은 패딩 문자열이지만 빈 문자열입니다. 그렇지 않으면 결과는 character(0)길이가 0 인 벡터이고 cat기본적으로 요소를 공백으로 구분하여 최종 행을 잘못 정렬 하기 때문에 1을 추가해야합니다 .


1

수학, 97 바이트

(c=Characters@#;T=Table;Column[T[""<>T[""<>T[c[[i]],j],{i,Length@c}],{j,#2}],Alignment->Center])&


입력

[ "oo oo", 10]


1

TCL, 143 142 141 138 바이트

proc p s\ n {set p [expr [set w [expr [string le $s]/2]]*$n];time {incr p $w;puts [format %$p\s [regsub -all . $s [append r \\0]]]} $n;cd}

테스트:

% p "o-o  o-o" 5
                o-o  o-o
            oo--oo    oo--oo
        ooo---ooo      ooo---ooo
    oooo----oooo        oooo----oooo
ooooo-----ooooo          ooooo-----ooooo

비고 : 절차의 끝에있는 "cd"는 피라미드 아래에 시간 결과가 인쇄되는 것을 방지하지만 현재 디렉토리를 변경합니다. 부작용은 명시 적으로 금지되어 있지 않습니다.

1 바이트를 절약하는 힌트를위한 sergiol 덕분에 ... 1 바이트를 더 절약 할 수있는 다른 힌트.

다른 3 바이트에 대한 측면 (tcl 채팅) 덕분에 저장되었습니다!


1

스위프트, 232 바이트

아마도 더 나을 수는 있지만 리팩토링 할 시간이 없습니다.

이 답변은 Swift 4를 사용하므로 현재 온라인으로 실행할 수 없습니다.

var p:(String,Int)->String={s,i in let r=(1...i).map{n in return s.map{return String(repeating:$0,count:n)}.joined()};return(r.map{return String(repeating:" ",count:(r.last!.count-$0.count)/2)+$0}as[String]).joined(separator:"\n")}

1

로고, 97 95 바이트

to f :s :n
for[i 1 :n][repeat(:n-:i)/2*count :s[type "\ ]foreach :s[repeat :i[type ?]]pr "]
end

FMSLogo 통역사의 코드를 사용해보십시오.

함수 정의 f개의 입력을 소요 :s하고 :n, 결과를 출력.


1

자바 8, 164148 바이트

s->n->{String o="";for(int i=0,m,j;i++<n;){o+="\n";for(m=0;m++<(n-i)*s.length()/2;)o+=" ";for(char c:s.toCharArray())for(j=0;j++<i;)o+=c;}return o;}

설명:

s->n->{
    String o = "";                                  //empty output string
    for (int i = 0, m, j; i++ < n; ) {              //for each row
        o += "\n";                                  //append a new line
        for (m = 0; m++ < (n - i)*s.length()/2; )   //for amount of spaces = inversed row_number * half length
            o += " ";                               //append a space
        for (char c : s.toCharArray())              //for each char of the string
            for (j = 0; j++ < i; )                  //row_number times
                o+=c;                               //append char
    }
    return o;
}

1

녹, 107 바이트

|a:&str,b|for i in 0..b{println!("{:^1$}",a.split("").map(|s|s.repeat(i+1)).collect::<String>(),a.len()*b)}

플레이 펜 링크

문자열 슬라이스와 숫자를 사용하여 원하는 패턴을 표준 출력으로 인쇄하는 익명 함수를 정의합니다. 문자열 슬라이스에 ASCII 문자 만 포함되어 있다고 가정하지만이 문제는 완전한 유니 코드 지원이 필요하다고 지정하지 않습니다. 유니 코드에도 정확하려면 117 바이트가 필요합니다.

|a:&str,b|for i in 0..b{println!("{:^1$}",a.split("").map(|s|s.repeat(i+1)).collect::<String>(),a.chars().count()*b)}

설명은 다소 간단합니다.

|a:&str,b|                             // arguments, compiler can't infer the type of a unfortunately
    for i in 0..b {                    // iterate from row 0 to row b - 1
        println!(
            "{:^1$}",                  // print a line containing arg 0, centered with the width specified as arg 1
            a.split("")                // split the string into slices of one character
                .map(|s|s.repeat(i+1)) // for each slice, yield a string containing row+1 times that slice
                .collect::<String>(),  // concatenate each of the strings into one string
            a.len()*b                  // total length should be the length of the string times the amount of rows
        )
    }

1

SOGL V0.12 , 8 바이트

∫dč*∑}¹╚

여기 사용해보십시오!

설명:

∫dč*∑}¹╚
∫    }    iterate over 1..input, pushing counter
 d        push the variable D, which sets itself to the next input as string
  č       chop into characters - a vertical array
   *      multiply horizontally by the counter
    ∑     join the array together
      ¹   wrap all that in an array
       ╚  center horizontally

다른 방법을 사용하고 새로운 (도전보다) 기능을 사용하므로 이전 답변을 업데이트하고 싶지 않았습니다.



0

Excel VBA, 98 바이트

익명의 VBE 즉시 창 함수는 입력을 문자열로 가져 [A1]오고 int에서 [B1]VBE 즉시 창으로 출력합니다.

For i=1To[B1]:?Spc([Len(A1)/2]*([B1]-i));:For j=1To[Len(A1)]:?String(i,Mid([A1],j,1));:Next:?:Next
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.