트위터 파서 만들기


14

소개

당신은 트위터를 사용합니다. 추종자에게 에이브 러햄 링컨의 게 티즈 버그 주소 를 트윗 하려면 전체 메시지를 전달하기 위해 텍스트를 여러 140 자 청크로 나누어야합니다. 그러나 해당 청크의 길이가 항상 정확히 140자인 것은 아닙니다. 예를 들어, 우리는 연설을 17 문자 덩어리로 나누면 다음과 같은 트윗으로 끝납니다.

  • 4 점과 SE
  • 우리의 시대
  • 아버지의 불상
  • 이 죄수에 대한
  • 새로운 NATI TINENT
  • L로 생각
  • (등등)

좋지 않아! 개별 단어가 분리되면 말하려는 내용을 이해하기가 어려워 질 수 있습니다. 또한 트위터 구절에서 추종자 중 한 명이 특정 트윗을 발견하고 메시지에 더 많은 것이 있다는 것을 알지 못하므로 트윗에 번호를 지정하여 작업 할 컨텍스트를 갖기를 원할 것입니다 (여전히 17 자 청크 사용) ) :

  • (1/7) 4 점
  • (2/7) 7 년 전
  • (3/7) 우리 아버지
  • (4/7) 브로치 포스 온
  • (5/7)이 대륙 A
  • (6/7) 새로운 국가
  • (7/7) ...

수동으로 트윗에 가장 적합한 구성을 수동으로 파악할 수 있지만 이것이 바로 컴퓨터입니다!

도전

가능한 가장 짧은 코드에서 Gettysburg 주소 (또는 모든 텍스트를 예로 들겠습니다. 그 안에 흔하지 않은 / 비정상적인 비트).

세부

  • 함수 / 프로그램 등은 단일 문자열 인수를 가져와 각 트윗마다 한 줄의 텍스트를 출력해야합니다.
    • 구문 분석을 선택하는 방법에 상관없이이 입력이 구문 분석 할 때 총 트윗 수가 99 개를 넘지 않는다고 가정하십시오 (해당 선택이 여전히 도전의 다른 지점에 맞는 경우).
  • 트윗은 트윗 의 본문 앞에 " " 형식 tweet number으로 total tweets표시기 를 포함해야합니다 (x/y).
    • 이 수는 140 자 공간의 일부를 차지합니다!
  • 트윗 청크는 줄 바꿈이나 공백으로 만 나눌 수 있습니다.
    • 공백이나 줄 바꿈 바로 앞이나 뒤에 있지 않는 한 하이픈, 마침표, 쉼표 또는 기타 문장 부호는 사용할 수 없습니다.
  • 트윗은 가능한 많은 완전한 단어로 구성되어야합니다.
    • 예를 들어 최종 트윗에 단어가 하나만있는 경우이 제약 조건은 약간 유연합니다.
  • 이것은 코드 골프이므로 가장 짧은 코드가 승리합니다.

게 티즈 버그 연설 전문

(코드는 여전히 전달 된 ASCII 문자열을 처리 할 수 ​​있어야합니다.)

4 년 전부터 6 년 동안이 대륙에서 시작된 우리의 아버지들은 자유로이 생각되고 모든 사람이 동등하게 만들어지는 제안에 따라 새로운 국가를 만들었습니다. 이제 우리는 그렇게 생각되고 지시 된 국가 또는 국가가 오래 지속될 수있는 중대한 시민 전쟁 테스트에 참여하고 있습니다. 우리는 그 전쟁의 대 배틀에서 만납니다. 우리는 국가가 살 수있는 생계를 유지 한 사람들을위한 최후의 휴식 장소로서 그 분야의 일부를 제시하게되었습니다. 그것은 우리가해야 할 일에 맞고 적절합니다. 그러나 더 큰 의미에서, 우리는 헌신 할 수 없으며, 결론을 내릴 수 없으며, 우리는이 지상을 할 수 없습니다. 용감한 삶과 죽음은 우리의 열악한 힘을 넘어서서 추가하거나 쇠퇴하는 것에 대해 결론을 내 렸습니다. 세계는 우리가 여기서 말한 것을 조금도 기억하지 못하지만 그들이 무엇을했는지 잊을 수는 없습니다. 그것은 살아있는 사람들이 미완성 된 일을하도록 만들어 졌기 때문에 미완성 된 일을하기위한 것입니다. 우리가 미국에 남아있는 위대한 임무에 전념 할 수 있도록하기 위해, 우리는이 공허한 죽음으로부터 우리가 그들의 헌신적 인 마지막 측정을 하였기 때문에, 우리가이 결의를 완전히 해결하지는 않았기 때문에 증가 된 헌신을하게되었습니다. 하나님 께서이 나라가 자유의 새로운 탄생을 가져 오셨으며, 사람들을위한 사람들에 의한 사람들의 통치는 지구에서 사라지지 않을 것입니다.


예를 들어 트윗에서 단어를 깨뜨 렸지만 규칙에서는 그렇지 않다고 말합니다. 규칙이나 예제를 변경하여 일관성을 유지하십시오.
부스비

@boothby 글쎄, 예는 허용되지 않는 것을 명시 적으로 보여주는 것입니다. 다시 단어를 쓸 수 없는지 볼 것입니다.
Gaffi

(X / Y) 부분으로 인해 단어-> 트윗 포장재를 다시 계산해야 할 가능성을 처리해야하는지의 여부를 명확히하기 위해 질문을 명확히하십시오. 이로 인해 문제가 훨씬 더 어려워지고 (X / Y) 부분의 데이터를 인코딩하지 않고 통신 할 수있는 가장 큰 메시지에 캡이 생깁니다.
arrdem

@rmckenzie 죄송 합니다만, 확실하지 않습니까? 당신은 한 세트에 100 개 이상의 트윗을 가질 수 있다는 사실을 설명해야합니까?
Gaffi

@Gaffi-그렇습니다. 메시지를 나누는 최대 부분이 있습니까? 문제 설명이 제안하는 트윗에.
arrdem

답변:


12

펄, 51 자

s#\G(.{1,132})(\s+|$)#(${\++$a}/~) $1\n#g;s#~#$a#g

-p 명령 행 프롬프트가 필요합니다 (1 자 포함).

설명 : 최대 132 자의 단어 그룹 앞뒤에 개행 문자를 삽입하십시오. ~총계 자리 표시 자 ( )를 삽입 한 다음 두 번째 대체로 바꿉니다. 메시지에가 포함되어 있으면 중단 ~되지만 대신 인쇄 할 수없는 문자를 쉽게 사용할 수 있습니다.

약간 속임수 : 항상 카운트 부분에 7자를 허용 (nn/nn)합니다. 실제로 (n/n)는 두 개의 추가 문자를 허용해야합니다. 그러나 이에 대한 임의의 솔루션은 문제의 복잡성을 크게 증가시킵니다.


\G여기서 쓸모 없습니까?
user2846289

26

파이썬, 140

^ 140 문자는 실제로 우연의 일치였습니다.

def f(s):
 s=s.split();i=0;l=[]
 while s:
  i+=1;t='(%d/%%d)'%i
  while s and len(t+s[0])<140:t+=' '+s.pop(0)
  l+=[t]
 for t in l:print t%i

단어가 남아 있지만 솔루션은 단어를 제공하여 새로운 트윗을 만들어 목록에 추가합니다. 각 트윗에 대해 트윗 길이가 140자를 넘을 때까지 단어를 계속 추가하려고합니다. 를 위해 두 개의 문자가 예약되어 있으며 total tweets, 목록의 각 트윗이 인쇄 될 때 나중에 채워집니다.

출력 예 :

(1/11) FOUR SCORE AND SEVEN YEARS AGO OUR FATHERS BROUGHT FORTH ON THIS CONTINENT A NEW NATION CONCEIVED IN LIBERTY AND DEDICATED TO THE
(2/11) PROPOSITION THAT ALL MEN ARE CREATED EQUAL. NOW WE ARE ENGAGED IN A GREAT CIVIL WAR TESTING WHETHER THAT NATION OR ANY NATION SO
(3/11) CONCEIVED AND SO DEDICATED CAN LONG ENDURE. WE ARE MET ON A GREAT BATTLEFIELD OF THAT WAR. WE HAVE COME TO DEDICATE A PORTION OF THAT
(4/11) FIELD AS A FINAL RESTING PLACE FOR THOSE WHO HERE GAVE THEIR LIVES THAT THAT NATION MIGHT LIVE. IT IS ALTOGETHER FITTING AND PROPER
(5/11) THAT WE SHOULD DO THIS. BUT IN A LARGER SENSE WE CAN NOT DEDICATE, WE CAN NOT CONSECRATE, WE CAN NOT HALLOW, THIS GROUND. THE BRAVE
(6/11) MEN LIVING AND DEAD WHO STRUGGLED HERE HAVE CONSECRATED IT FAR ABOVE OUR POOR POWER TO ADD OR DETRACT. THE WORLD WILL LITTLE NOTE NOR
(7/11) LONG REMEMBER WHAT WE SAY HERE BUT IT CAN NEVER FORGET WHAT THEY DID HERE. IT IS FOR US THE LIVING RATHER TO BE DEDICATED HERE TO THE
(8/11) UNFINISHED WORK WHICH THEY WHO FOUGHT HERE HAVE THUS FAR SO NOBLY ADVANCED. IT IS RATHER FOR US TO BE HERE DEDICATED TO THE GREAT
(9/11) TASK REMAINING BEFORE US, THAT FROM THESE HONORED DEAD WE TAKE INCREASED DEVOTION TO THAT CAUSE FOR WHICH THEY GAVE THE LAST FULL
(10/11) MEASURE OF DEVOTION, THAT WE HERE HIGHLY RESOLVE THAT THESE DEAD SHALL NOT HAVE DIED IN VAIN, THAT THIS NATION UNDER GOD SHALL HAVE
(11/11) A NEW BIRTH OF FREEDOM, AND THAT GOVERNMENT OF THE PEOPLE BY THE PEOPLE FOR THE PEOPLE SHALL NOT PERISH FROM THE EARTH.

정확히 내가 필요한 것입니다. 이 솔루션은 시원합니다. 감사합니다 @ grc
iChux

7

루비, 77 자

f=->t{i=0;$><<t.gsub(/(.{1,132})([ \n]|$)/m){"(#{i+=1}/%{i}) #{$1}\n"}%{i:i}}

논리를 단일 정규식으로 압축했습니다. 출력 f[text]:

(1/11) FOUR SCORE AND SEVEN YEARS AGO OUR FATHERS BROUGHT FORTH ON THIS CONTINENT A NEW NATION CONCEIVED IN LIBERTY AND DEDICATED TO THE
(2/11) PROPOSITION THAT ALL MEN ARE CREATED EQUAL. NOW WE ARE ENGAGED IN A GREAT CIVIL WAR TESTING WHETHER THAT NATION OR ANY NATION SO
(3/11) CONCEIVED AND SO DEDICATED CAN LONG ENDURE. WE ARE MET ON A GREAT BATTLEFIELD OF THAT WAR. WE HAVE COME TO DEDICATE A PORTION OF
(4/11) THAT FIELD AS A FINAL RESTING PLACE FOR THOSE WHO HERE GAVE THEIR LIVES THAT THAT NATION MIGHT LIVE. IT IS ALTOGETHER FITTING AND
(5/11) PROPER THAT WE SHOULD DO THIS. BUT IN A LARGER SENSE WE CAN NOT DEDICATE, WE CAN NOT CONSECRATE, WE CAN NOT HALLOW, THIS GROUND. THE
(6/11) BRAVE MEN LIVING AND DEAD WHO STRUGGLED HERE HAVE CONSECRATED IT FAR ABOVE OUR POOR POWER TO ADD OR DETRACT. THE WORLD WILL LITTLE
(7/11) NOTE NOR LONG REMEMBER WHAT WE SAY HERE BUT IT CAN NEVER FORGET WHAT THEY DID HERE. IT IS FOR US THE LIVING RATHER TO BE DEDICATED
(8/11) HERE TO THE UNFINISHED WORK WHICH THEY WHO FOUGHT HERE HAVE THUS FAR SO NOBLY ADVANCED. IT IS RATHER FOR US TO BE HERE DEDICATED TO
(9/11) THE GREAT TASK REMAINING BEFORE US, THAT FROM THESE HONORED DEAD WE TAKE INCREASED DEVOTION TO THAT CAUSE FOR WHICH THEY GAVE THE
(10/11) LAST FULL MEASURE OF DEVOTION, THAT WE HERE HIGHLY RESOLVE THAT THESE DEAD SHALL NOT HAVE DIED IN VAIN, THAT THIS NATION UNDER GOD
(11/11) SHALL HAVE A NEW BIRTH OF FREEDOM, AND THAT GOVERNMENT OF THE PEOPLE BY THE PEOPLE FOR THE PEOPLE SHALL NOT PERISH FROM THE EARTH.

3

루비, 75

Perl을 이길 수는 없지만 최소한 다른 Ruby 솔루션을 거의 능가합니다. 트윗을 역순으로 인쇄합니다 (문제는 하나를 지정하지 않음).

f=->t,i=1{t=~/\S.{,130}\S(?!\S)/?puts("(#{i}/%d) #$&"%n=f[$',i+1])||n :i-1}

1
흠 ... 주문을 지정하지 않은 것 같습니다. 규칙을 납치하는 것이 좋습니다. ;-)
Gaffi

1

VBA, 251

다른 방법을 시도했습니다 ... 내 원래만큼 좋지는 않지만 여전히 노력하고 있습니다 ...

Sub a(s)
Dim n(99)
m=1
r=Split(StrConv(s,64),Chr(0))
For i=0 To Len(s)
If i-g>132 Then n(m)=Mid(s,g+1,u-g):i=u:g=i:m=m+1
If r(i)=" " Or r(i)=vbCr Then i=i+1:u=i
Next
n(m)=Mid(s,g+1)
For o=1 To m
Debug.Print "(" & o & "/" & m & ") " & n(o)
Next
End Sub

출력 :

(1/11) FOUR SCORE AND SEVEN YEARS AGO OUR FATHERS BROUGHT FORTH ON THIS CONTINENT A NEW NATION CONCEIVED IN LIBERTY AND DEDICATED TO THE 
(2/11) PROPOSITION THAT ALL MEN ARE CREATED EQUAL. NOW WE ARE ENGAGED IN A GREAT CIVIL WAR TESTING WHETHER THAT NATION OR ANY NATION SO 
(3/11) CONCEIVED AND SO DEDICATED CAN LONG ENDURE. WE ARE MET ON A GREAT BATTLEFIELD OF THAT WAR. WE HAVE COME TO DEDICATE A PORTION OF 
(4/11) THAT FIELD AS A FINAL RESTING PLACE FOR THOSE WHO HERE GAVE THEIR LIVES THAT THAT NATION MIGHT LIVE. IT IS ALTOGETHER FITTING AND 
(5/11) PROPER THAT WE SHOULD DO THIS. BUT IN A LARGER SENSE WE CAN NOT DEDICATE, WE CAN NOT CONSECRATE, WE CAN NOT HALLOW, THIS GROUND. THE 
(6/11) BRAVE MEN LIVING AND DEAD WHO STRUGGLED HERE HAVE CONSECRATED IT FAR ABOVE OUR POOR POWER TO ADD OR DETRACT. THE WORLD WILL LITTLE 
(7/11) NOTE NOR LONG REMEMBER WHAT WE SAY HERE BUT IT CAN NEVER FORGET WHAT THEY DID HERE. IT IS FOR US THE LIVING RATHER TO BE DEDICATED 
(8/11) HERE TO THE UNFINISHED WORK WHICH THEY WHO FOUGHT HERE HAVE THUS FAR SO NOBLY ADVANCED. IT IS RATHER FOR US TO BE HERE DEDICATED TO 
(9/11) THE GREAT TASK REMAINING BEFORE US, THAT FROM THESE HONORED DEAD WE TAKE INCREASED DEVOTION TO THAT CAUSE FOR WHICH THEY GAVE THE 
(10/11) LAST FULL MEASURE OF DEVOTION, THAT WE HERE HIGHLY RESOLVE THAT THESE DEAD SHALL NOT HAVE DIED IN VAIN, THAT THIS NATION UNDER GOD 
(11/11) SHALL HAVE A NEW BIRTH OF FREEDOM, AND THAT GOVERNMENT OF THE PEOPLE BY THE PEOPLE FOR THE PEOPLE SHALL NOT PERISH FROM THE EARTH.

1

배쉬 (88 문자)

fold -132 -s |tac|cat -n |tac|awk '{if(NR==1)a=$1;$1="";printf "(%d/%d) %s\n",NR,a,$0 }'

132 자 (트위트 수를 허용하기 위해), 공백 ( -s), 뒤로 텍스트 읽기 (tac), 텍스트 번호 ( cat -n), 되감기 ( tac)로 줄을 접으 십시오 . Awk 내부 : 첫 번째 줄 (NR == 1)에서 문자 'a'에 첫 번째 값을 지정하십시오. 숫자 열을 비 웁니다. 다음 줄을 인쇄하십시오 (NR / 'a').

산출:

(1/12)  FOUR SCORE AND SEVEN YEARS AGO OUR FATHERS BROUGHT FORTH ON THIS CONTINENT A NEW NATION CONCEIVED IN LIBERTY AND DEDICATED TO THE
(2/12)  PROPOSITION THAT ALL MEN ARE CREATED EQUAL. NOW WE ARE ENGAGED IN A GREAT CIVIL WAR TESTING WHETHER THAT NATION OR ANY NATION SO
(3/12)  CONCEIVED AND SO DEDICATED CAN LONG ENDURE. WE ARE MET ON A GREAT BATTLEFIELD OF THAT WAR. WE HAVE COME TO DEDICATE A PORTION OF
(4/12)  THAT FIELD AS A FINAL RESTING PLACE FOR THOSE WHO HERE GAVE THEIR LIVES THAT THAT NATION MIGHT LIVE. IT IS ALTOGETHER FITTING AND
(5/12)  PROPER THAT WE SHOULD DO THIS. BUT IN A LARGER SENSE WE CAN NOT DEDICATE, WE CAN NOT CONSECRATE, WE CAN NOT HALLOW, THIS GROUND.
(6/12)  THE BRAVE MEN LIVING AND DEAD WHO STRUGGLED HERE HAVE CONSECRATED IT FAR ABOVE OUR POOR POWER TO ADD OR DETRACT. THE WORLD WILL
(7/12)  LITTLE NOTE NOR LONG REMEMBER WHAT WE SAY HERE BUT IT CAN NEVER FORGET WHAT THEY DID HERE. IT IS FOR US THE LIVING RATHER TO BE
(8/12)  DEDICATED HERE TO THE UNFINISHED WORK WHICH THEY WHO FOUGHT HERE HAVE THUS FAR SO NOBLY ADVANCED. IT IS RATHER FOR US TO BE HERE
(9/12)  DEDICATED TO THE GREAT TASK REMAINING BEFORE US, THAT FROM THESE HONORED DEAD WE TAKE INCREASED DEVOTION TO THAT CAUSE FOR WHICH
(10/12)  THEY GAVE THE LAST FULL MEASURE OF DEVOTION, THAT WE HERE HIGHLY RESOLVE THAT THESE DEAD SHALL NOT HAVE DIED IN VAIN, THAT THIS
(11/12)  NATION UNDER GOD SHALL HAVE A NEW BIRTH OF FREEDOM, AND THAT GOVERNMENT OF THE PEOPLE BY THE PEOPLE FOR THE PEOPLE SHALL NOT PERISH
(12/12)  FROM THE EARTH.

나는 더 짧은 bash 명령이 있다고 확신합니다. wc -l
Pureferret

1

자바 스크립트 (FF 만 해당), 92 자

r=(s)=>{s.match(/.{1,132}(\s|$)/gm).map((v,i,a)=>console.log(v,'('+(i+1)+'/'+a.length+')'))}

형식화 된 것은 Perl 스크립트의 요약입니다.

r=(s)=>{
    s.match(/.{1,132}(\s|$)/gm).map((v,i,a) => console.log(v,'('+(i+1)+'/'+a.length+')'))
}

0

VBA, 227

Sub a(s)
Dim n(99)
m=1
x=133
While Len(s)>x
t=Left(s,x):p=InStrRev(t," "):q=InStrRev(t,vbCr):i=IIf(p>q,p,q):t=Left(s,i):s=Mid(s,i+1):n(m)=t:m=m+1
Wend
n(m)=s
For o=1 To m
Debug.Print "(" & o & "/" & m & ") " & n(o)
Next
End Sub

출력 :

(1/11) FOUR SCORE AND SEVEN YEARS AGO OUR FATHERS BROUGHT FORTH ON THIS CONTINENT A NEW NATION CONCEIVED IN LIBERTY AND DEDICATED TO THE 
(2/11) PROPOSITION THAT ALL MEN ARE CREATED EQUAL. NOW WE ARE ENGAGED IN A GREAT CIVIL WAR TESTING WHETHER THAT NATION OR ANY NATION SO 
(3/11) CONCEIVED AND SO DEDICATED CAN LONG ENDURE. WE ARE MET ON A GREAT BATTLEFIELD OF THAT WAR. WE HAVE COME TO DEDICATE A PORTION OF 
(4/11) THAT FIELD AS A FINAL RESTING PLACE FOR THOSE WHO HERE GAVE THEIR LIVES THAT THAT NATION MIGHT LIVE. IT IS ALTOGETHER FITTING AND 
(5/11) PROPER THAT WE SHOULD DO THIS. BUT IN A LARGER SENSE WE CAN NOT DEDICATE, WE CAN NOT CONSECRATE, WE CAN NOT HALLOW, THIS GROUND. THE 
(6/11) BRAVE MEN LIVING AND DEAD WHO STRUGGLED HERE HAVE CONSECRATED IT FAR ABOVE OUR POOR POWER TO ADD OR DETRACT. THE WORLD WILL LITTLE 
(7/11) NOTE NOR LONG REMEMBER WHAT WE SAY HERE BUT IT CAN NEVER FORGET WHAT THEY DID HERE. IT IS FOR US THE LIVING RATHER TO BE DEDICATED 
(8/11) HERE TO THE UNFINISHED WORK WHICH THEY WHO FOUGHT HERE HAVE THUS FAR SO NOBLY ADVANCED. IT IS RATHER FOR US TO BE HERE DEDICATED TO 
(9/11) THE GREAT TASK REMAINING BEFORE US, THAT FROM THESE HONORED DEAD WE TAKE INCREASED DEVOTION TO THAT CAUSE FOR WHICH THEY GAVE THE 
(10/11) LAST FULL MEASURE OF DEVOTION, THAT WE HERE HIGHLY RESOLVE THAT THESE DEAD SHALL NOT HAVE DIED IN VAIN, THAT THIS NATION UNDER GOD 
(11/11) SHALL HAVE A NEW BIRTH OF FREEDOM, AND THAT GOVERNMENT OF THE PEOPLE BY THE PEOPLE FOR THE PEOPLE SHALL NOT PERISH FROM THE EARTH.

0

자바 스크립트 (FF 만 해당), 135 자

n=(s)=>{for(g=[],i=1,a=s.split(/(\s)/),r='';c=a.shift();g[i]=r+=c)if((c+r)[132]&&i++)r='';g.map((v,k)=>console.log(v,'('+k+'/'+i+')'))}

형식은 다음과 같습니다.

n=(s)=>{
    for (g=[],i=1,a=s.split(/(\s)/),r=''; c=a.shift(); g[i]=r+=c) {
        if((c+r)[132]&&i++) {
            r='';
        }
    }
    g.map((v,k)=>console.log(v,'('+k+'/'+i+')'))
}

나는 이것이 짧은 대답보다 더 영리하다고 생각합니다
Charles Charles

0

PHP, 233

이것이 카운트 부분을 속이지 않는 첫 번째 대답이라고 가정하여 맞습니까?
(또한 99 개 이상의 트윗에서 작동합니다.이 경우 무한 루프를 허용하면 2 바이트를 더 줄일 수 있습니다.)

function t($s,$e=1){$a=explode(' ',$s);while($a){$t=++$n;while($a&&strlen($t.$a[0])<137-$e)$t.=' '.array_shift($a);$r[]=$t;}if($n>=10**$e)t($s,$e+1);else foreach($r as$i=>$s)echo preg_replace('%(^\d+)%',"(\$1/$n)",$s),'
';}

언 골프 :

function t($s,$e=1)
{
    $a=explode(' ',$s);
    while($a)
    {
        $t=++$n;
        while($a&&strlen($t.$a[0])<137-$e)$t.=' '.array_shift($a);
        $r[]=$t;
    }
    if($n>=10**$e)                  // if tweet count has more than $e digits
        t($s,ceil(log10($n+1)));    // use correct length (golfed: try with length+1)
    else
        foreach($r as$i=>$s)
            echo preg_replace('%(^\d+)%',"(\$1/$n)",$s),"\n";
}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.