Yahtzee 소형 직선 감지


34

Yahtzee 게임 에서 플레이어는 6 면체 주사위 5 개를 굴려 점수를 얻기 위해 특정 손을 만듭니다. 그러한 손 중 하나는 작은 직선입니다 . 4 개의 연속 된 숫자는 반드시 순서대로는 아닙니다. 세 가지 가능한 작은 스트레이트는 1, 2, 3, 4, 2, 3, 4, 5및 3, 4, 5, 6.

예를 들어, [3, 5, 6, 1, 4]작은 straight를 포함합니다 [3, 4, 5, 6].

입력

Yahtzee 핸드를 나타내는 각각 1에서 6까지의 5 개의 정수로 구성된 정렬되지 않은 목록.

산출

손에 작고 똑 바른 값이 포함되어 있으면 진실한 가치.

테스트 사례

진실한 :

[[1, 2, 3, 3, 4], [1, 2, 3, 4, 5], [3, 5, 6, 1, 4], [1, 5, 3, 4, 6], [4, 5, 2, 3, 5], [1, 4, 3, 2, 2], [5, 4, 3, 6, 3], [5, 3, 5, 4, 6], [2, 4, 5, 1, 3], [3, 6, 4, 5, 3], [5, 6, 4, 3, 5], [4, 5, 3, 6, 3], [4, 5, 5, 3, 2], [4, 5, 2, 3, 5], [4, 6, 5, 3, 6], [4, 2, 3, 1, 5], [3, 6, 4, 6, 5], [5, 2, 1, 3, 4], [4, 4, 1, 2, 3], [4, 1, 4, 2, 3], [5, 1, 4, 3, 6], [5, 2, 2, 3, 4], [4, 4, 6, 5, 3], [2, 4, 3, 5, 1], [5, 4, 2, 5, 3], [2, 3, 5, 5, 4], [1, 6, 3, 4, 5], [4, 5, 3, 3, 6], [6, 4, 3, 6, 5], [4, 6, 6, 5, 3], [4, 3, 5, 2, 2], [2, 3, 2, 1, 4], [4, 2, 6, 1, 3], [4, 4, 5, 3, 6], [4, 5, 6, 3, 6]]

거짓 :

[[1, 2, 3, 5, 6], [5, 1, 1, 6, 6], [4, 6, 4, 1, 1], [6, 4, 1, 6, 4], [4, 6, 3, 6, 6], [2, 1, 4, 6, 4], [2, 6, 1, 5, 6], [2, 6, 1, 5, 6], [3, 6, 5, 3, 2], [3, 2, 3, 5, 3], [5, 5, 6, 2, 3], [3, 4, 6, 4, 3], [1, 4, 5, 5, 1], [1, 4, 4, 4, 1], [1, 6, 5, 1, 4], [6, 6, 4, 5, 4], [5, 3, 3, 3, 2], [5, 2, 1, 5, 3], [3, 5, 1, 6, 2], [6, 4, 2, 1, 2], [1, 3, 1, 3, 2], [3, 1, 3, 4, 3], [4, 3, 1, 6, 3], [4, 6, 3, 3, 6], [3, 6, 3, 6, 4], [1, 1, 3, 1, 3], [5, 5, 1, 3, 2], [3, 4, 2, 6, 6], [5, 4, 2, 6, 1], [2, 4, 4, 5, 4], [3, 6, 2, 5, 5], [2, 5, 3, 5, 1], [3, 2, 2, 3, 4], [5, 2, 2, 6, 2], [5, 6, 2, 5, 6]]

이것에 의해 영감을

목록

var QUESTION_ID=74997;var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe";var COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk";var OVERRIDE_USER=30525;var answers=[],answers_hash,answer_ids,answer_page=1,more_answers=true,comment_page;function answersUrl(index){return"http://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+index+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(index,answers){return"http://api.stackexchange.com/2.2/answers/"+answers.join(';')+"/comments?page="+index+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:true,success:function(data){answers.push.apply(answers,data.items);answers_hash=[];answer_ids=[];data.items.forEach(function(a){a.comments=[];var id=+a.share_link.match(/\d+/);answer_ids.push(id);answers_hash[id]=a});if(!data.has_more)more_answers=false;comment_page=1;getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:true,success:function(data){data.items.forEach(function(c){if(c.owner.user_id===OVERRIDE_USER)answers_hash[c.post_id].comments.push(c)});if(data.has_more)getComments();else if(more_answers)getAnswers();else process()}})}getAnswers();var SCORE_REG=/<h\d>\s*([^\n,<]*(?:<(?:[^\n>]*>[^\n<]*<\/[^\n>]*>)[^\n,<]*)*),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/;var OVERRIDE_REG=/^Override\s*header:\s*/i;function getAuthorName(a){return a.owner.display_name}function process(){var valid=[];answers.forEach(function(a){var body=a.body;a.comments.forEach(function(c){if(OVERRIDE_REG.test(c.body))body='<h1>'+c.body.replace(OVERRIDE_REG,'')+'</h1>'});var match=body.match(SCORE_REG);if(match)valid.push({user:getAuthorName(a),size:+match[2],language:match[1],link:a.share_link,});else console.log(body)});valid.sort(function(a,b){var aB=a.size,bB=b.size;return aB-bB});var languages={};var place=1;var lastSize=null;var lastPlace=1;valid.forEach(function(a){if(a.size!=lastSize)lastPlace=place;lastSize=a.size;++place;var answer=jQuery("#answer-template").html();answer=answer.replace("{{PLACE}}",lastPlace+".").replace("{{NAME}}",a.user).replace("{{LANGUAGE}}",a.language).replace("{{SIZE}}",a.size).replace("{{LINK}}",a.link);answer=jQuery(answer);jQuery("#answers").append(answer);var lang=a.language;lang=jQuery('<a>'+lang+'</a>').text();languages[lang]=languages[lang]||{lang:a.language,lang_raw:lang.toLowerCase(),user:a.user,size:a.size,link:a.link}});var langs=[];for(var lang in languages)if(languages.hasOwnProperty(lang))langs.push(languages[lang]);langs.sort(function(a,b){if(a.lang_raw>b.lang_raw)return 1;if(a.lang_raw<b.lang_raw)return-1;return 0});for(var i=0;i<langs.length;++i){var language=jQuery("#language-template").html();var lang=langs[i];language=language.replace("{{LANGUAGE}}",lang.lang).replace("{{NAME}}",lang.user).replace("{{SIZE}}",lang.size).replace("{{LINK}}",lang.link);language=jQuery(language);jQuery("#languages").append(language)}}
body{text-align:left!important}#answer-list{padding:10px;width:290px;float:left}#language-list{padding:10px;width:290px;float:left}table thead{font-weight:700}table td{padding:5px}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b"> <div id="language-list"> <h2>Shortest Solution by Language</h2> <table class="language-list"> <thead> <tr><td>Language</td><td>User</td><td>Score</td></tr> </thead> <tbody id="languages"> </tbody> </table> </div> <div id="answer-list"> <h2>Leaderboard</h2> <table class="answer-list"> <thead> <tr><td></td><td>Author</td><td>Language</td><td>Size</td></tr> </thead> <tbody id="answers"> </tbody> </table> </div> <table style="display: none"> <tbody id="answer-template"> <tr><td>{{PLACE}}</td><td>{{NAME}}</td><td>{{LANGUAGE}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr> </tbody> </table> <table style="display: none"> <tbody id="language-template"> <tr><td>{{LANGUAGE}}</td><td>{{NAME}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr> </tbody> </table>


진실한 가치는 일관되어야합니까? 진실한 결과에 대해 (일정하지 않은) 양의 정수를 출력하고 거짓 결과에 대해 0을 출력 할 수 있습니까?
— Martin Ender

@ MartinBüttner 일관성이 없어도됩니다.
— lirtosiast

9
작동하는지 확인하십시오 [1,2,3,3,4]. 이 때문에 많은 답변이 죽습니다.
— CalculatorFeline

배열이 0으로 채워져 있다고 가정 할 수 있습니까?
— CalculatorFeline

5
@CatsAreFluffy "die"
— Dustin Rasener

답변:


28

MATL , 7 12 11 9 8 6 바이트

2 바이트를 제거 한 @lirtosiast에게 감사드립니다.

ud7BXf

Truthy는 0이 아닌 값의 배열입니다. Falsy는 빈 배열입니다 (출력이 표시되지 않음).

릴리스 16.2.0부터는 u기본적으로 안정적입니다. 따라서 코드 S는 출력을 정렬하기 위해 추가 로 필요합니다 : uSd7BXf( 7 bytes ). 링크에는이 수정 사항이 포함되어 있습니다.

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

u     % input array implicitly. Transform into array of unique elements sorted
d     % array of differences between consecutive elements
7B    % push arrray [1 1 1] (number 7 converted to binary)
Xf    % indices of occurrences of the second array within the first

4
6 바이트?! 이것은 믿을 수 없다!
— Adnan

3
@AandN \ o / \ o / \ o /
— Luis Mendo

8
다른 사용자와 마찬가지로 바이트 수 기록을 유지하려면 싶습니다. 진행 상황을 보여줍니다.
— mbomb007

1
최소한 8에서 6까지의 진행은 정확했습니다 ...
— Conor O'Brien

5
@DonMuesli FWIW 나는 당신과 동의하고 mbomb007에 동의하지 않습니다. 작동하지 않은 버전은 의미가 없으므로 역사에 포함되어서는 안됩니다. 나는 보통 작업 버전의 바이트 수만 포함하므로 엄격하게 감소하는 시퀀스입니다.
— Martin Ender

12

파이썬, 44 바이트

lambda l:any({i+1,i+2,i+3}<set(l)for i in l)

9 개월 후에 개선되었습니다. 우리는 i세트의 시작 값만 검사한다는 Zgarb의 아이디어로 세트 에 있는지 확인할 필요가 없습니다 . 또한 포함되어야 <하므로 엄격한 하위 집합 에도 사용할 i수 있습니다.


47 바이트 :

lambda l:any({i,i+1,i+2,i+3}<=set(l)for i in l)

다이 롤이 작은 직선 세트의 시작인지 확인합니다. 목록에서 시작 값만 확인하고 5 바이트를 절약 할 수있는 Zgarb에게 감사드립니다.

Python 3.5의 세트 변환은 45 바이트입니다

lambda l:any({i,i+1,i+2,i+3}<={*l}for i in l)

그것은 할 수있는 같은 길이의 {*range(i,i+4)}로 {i,i+1,i+2,i+3}.


10

미로, 41 바이트

=|?30
0 _ }:/2
3 1  { "!
({(  &{/
} )
+:"

@ MartinBüttner와의 콜라 보 답변. 나는 우리가 처음 기대했던 것 이상으로 이것을 압착했다고 생각합니다.

출력은 1진실을위한 것이며, 거짓을 나타내는 것은 비어 있습니다. 온라인으로 사용해보십시오!

빠른 설명

각 숫자 n를 이진 정수 1로 변환하고 그 뒤에 n+10을 씁니다 2^(n+1). 결과를 비트 단위로 OR하고 1111(이진수로) 확인하십시오 . Labyrinth에서 지수를 수동으로 구현해야합니다.

상해

일반적인 프라이머 :

  • Labyrinth는 스택 기반 2D 프로그래밍 언어입니다. 메모리에는 주 스택과 보조 스택이 있으며 빈 스택에서 팝업하면 오류가 아닌 0이 생성됩니다.
  • 명령 포인터가 두 개 이상의 가능한 경로를 아래로 이동할 수있는 각 접점에서 스택의 맨 위를 확인하여 다음에 갈 곳을 결정합니다. 음수는 남아 있고, 0은 앞으로, 양수는 오른쪽입니다.
  • Labyrinth의 자릿수는 해당 자릿수를 스택으로 푸시하지 않고 팝 n및 푸시 n*10 + <digit>합니다. 새로운 숫자를 시작하려면 _0 을 누릅니다 .

설정

명령 포인터가 오른쪽을 향한 상태로 왼쪽 상단에서 실행이 시작됩니다. 우리는 다음을 실행합니다.

=        Swap tops of main and auxiliary stacks
|        Bitwise OR

효과적으로 0을 밀어내는 것 외에도,이 명령어는 스택을 변경하지 않습니다.

왼쪽 루프 : 지수 및 비트 OR

Labyrinth에는 지수가 없으므로 수동으로 구현해야합니다. 먼저 우리는로 정수를 읽습니다. ?이것이 긍정적이기 때문에 우회전합니다. _11을 누르면 내부 루프로 들어갑니다.

내부 루프는 다음을 수행합니다.

(       Decrement. For the first iteration this turns 1 into 0 so we move straight ahead
        downwards; for other iterations when we're coming from the left this turns 2^k into
        2^k-1 > 0, making us turn right (also downwards)
)       Increment again
"       No-op
:+      Duplicate and add, i.e. double
}       Move result to aux
(       Decrement input n. Since this is at a junction, we turn right and continue the
        loop if n is still positive, else we exit the loop by going forwards if n is 0
{       Move result from aux to main

이것은 do-while 루프이므로 입력을 n위해를 계산 2^(n+1)합니다. 스택에서 제로화 된 입력으로 끝나고이 30제로를 30으로 바꿉니다. 그런 다음 설정에서 동일한 지침을 수행하지만 이번에는 실제로 유용합니다.

=       Swap tops of main and aux, moving 30 to aux and 2^(n+1) to main
|       Bitwise OR (for the first input, this is bitwise OR with an implicit zero at
        the bottom of the stack)

이 루프는 EOF ?가 0을 반환 할 때까지 입력의 각 숫자에 대해 계속 됩니다. 이것은 회전하지 않고 앞으로 이동하여 ...

브리지 : 추가 설정

30애프터 ?통해 보조 스택으로 푸시 (30)에 회전 EOF에서 0 }. 중요한 것은 모든 입력 번호에 대해 30을 보조 스택으로 푸시 했으므로 이제 보조 스택 5 + 1 = 6에 번호 30의 사본이 포함 됩니다.

한편, 메인 스택에는 2^(n+1)각 입력 에 대한 비트 단위 OR이 포함 n됩니다. 이 비트 OR을 호출 b하면 오른쪽 루프에서 수정되므로

오른쪽 루프 : 결과 및 출력 확인

오른쪽 루프에서 수행되는 작업은 다음과 같습니다.

:     Duplicate top of stack. This makes us turn right for the first iteration, since
      b is positive. For later iterations, when we're coming in from the
      right, we usually take the same turn (but see below)
{&    Bitwise AND with a 30 pulled from aux
{/    Integer division by a 30 pulled from aux. This returns 1 or 0 depending on whether
      we have found a small straight.
"     No-op at a junction. Turn right if small straight, else go forward.

[If small straight found]
!     Output the previous 1. This is at a dead end, so we turn around.
"     No-op at junction. Turn right since top of stack is positive.
      (stuff happens - see below)

[If small straight not found]
2     Turn 0 into 2
/     Divide b by said 2
      (continue loop)

이제이 프로그램에서는 종료가 약간 까다 롭습니다. 프로그램이 종료 할 수있는 가능한 방법은 다음과 같습니다.

  • 오른쪽 루프를 3 번 ​​반복 한 b후에도 여전히 긍정적입니다. 보조 스택에 6 개의 30을 어떻게 넣었는지 기억하십니까? 각 반복마다 두 가지를 사용하기 때문에 네 번째 반복에서 보조 스택의 맨 아래에서 0을 가져 오기 시작합니다. 우리가 할 때 0으로 나누고 {/프로그램이 종료됩니다.

  • 작은 직선에 대해 1을 출력 한 후 : 우리는 !no-op "junction 에서 오른쪽으로 돌았습니다 . 그런 다음 왼쪽 절반을 다시 크롤링하기 시작하면 롤러 코스터가 시작됩니다.

2     Pops b, pushes 10*b + 2
/}    Divide bottom zero by b, giving zero, pushing to aux
03    Zero at bottom of stack becomes 3
?     Push 0 due to EOF, main stack [3 0]. Go straight.
|=    Bitwise OR then swap tops of main and aux
03    Zero at bottom of stack becomes 3, stacks [3 | 3]
({(   Dec, shift dec. Stacks [2 2 | ], and we're in the exponentiator again.

지수에서 몇 번의 트립 후 스택은 다음과 같이 보입니다 [12 | 30 30].

  • 어떤 시점에서 b가 0이 된 후 : 여기서 핵심 :은 오른쪽 루프의 교차점에 있다는 것입니다. 입력이 있었다면, 말하자면, 1 1 1 1 1다음 b이 될 것입니다 4, 다음 2, 다음 1, 다음 0세 번째 반복 후. :IP 를 돌리는 대신 이제 IP가 곧바로 이동하고 이전의 경우와 같은 상황이 발생하여 결국 종료됩니다.

결국 프로그램이 어떻게 종료되는지 엉망이지만 몇 바이트를 절약 할 수있는 것은 아무것도 없습니다!


7

매스 매 티카, 39 43 44 31 39 44 바이트

Differences@Union@#~MatchQ~{___,1,1,1,___} &

15
음, 44에서 교차하지 않음 입니다 ... 아직 44
— Rɪᴋᴇʀ

7

하스켈, 39 34 바이트

f x=any(\y->all(`elem`x)[y..y+3])x

사용 예 : f [1,2,3,3,4]-> True.

@ xnor 's answer 와 유사 합니다. 입력 목록에 작은 직선이 있는지 확인하십시오. 사실 나는 모든 "작은 스트레이트"(즉, 4 연속 번호) 그들 중 일부가 잘못되고, 따라서 항상 실패, 입력 목록에서 숫자를 시작으로 테스트하고있어 all테스트를하고 왜곡되지 않는 any예를 들어, 테스트 [5,6,7,8].

편집 : @ Zgarb는 5 바이트를 저장했습니다. 감사!



5

자바 스크립트 (ES6), 55 53 바이트

a=>(z=[0,1,2,3]).some(b=>z.every(c=>a.includes(c+b)))

true진실하고 허위로 돌아 false옵니다.

작동 원리

[0, 1, 2, 3]의 일부 값이 [0, 1, 2, 3]의 모든 값에 대해이 두 값의 합이 입력 배열에있는 조건을 충족시키는 경우 반환합니다.

따라서 배열에 [0, 1, 2, 3] (불가능), [1, 2, 3, 4], [2, 3, 4, 5] 또는 [3, 4, 5의 모든 값이 있으면 반환 , 6].


5

루비, 31

첫 번째 Ruby 답변 과 같이 똑똑하지 않고 정수 배열을 거치며 각 정수마다 해당 정수로 시작하는 입력에 작은 직선이 있는지 확인합니다. 가능한 값이나 고유성에 대해 걱정하지 않습니다.

이것은 Sherlock의 답변 과 동일한 알고리즘을 사용하는 것 같습니다 .

->x{x.any?{|d|[*d..d+3]-x==[]}}

5

루비, 58 55 50 47 43 33 바이트

나는 방금 Paul의 Ruby 답변으로 펀치에 맞았다는 것을 알았습니다 . 그러나 이것이 여전히 골프에 대한 적절한 대답이 될 수 있다고 생각하기 때문에 나는 억제되지 않습니다. xnor 's Python answer 에 부분적으로 기초 합니다.

편집 : 일부 골프 및 삼진 조건부에서 믹스 업 수정.

편집 : 내가 지금 사용 .any?처럼 하지 찰스는 자신의 루비 대답한다는 것을 하지만 난 간단한 방법이 필요 때문에 만 제거 a하고 만 truthy하고있는 falsey 반환 !([*i..i+3]-l)[0]이후 .map의 배열을 반환 true과 false.

->l{l.any?{|i|!([*i..i+3]-l)[0]}}

반환하거나 true또는 false.

언 골프 드 :

def f(l)
  a = p
  l.any? do |i|
    if ( (i..i+3).to_a - l )[0]     # if (i..i+3) in l
      a = false                     # a[0] is equivalent to !a.empty?
    else
      a = true
    end
  end
  puts a
end

중요 사항 : (a2 - a1).empty?코드 를 사용하여의 모든 요소 a2가에 있는지 판별 a1하려는 경우, 예를 들어 여러 요소 [2,1,2]에 있는지 확인 [1,2,3,3]하려면 다른 코드가 필요합니다. 여기에서이 문제에 대한 관련 토론 .


사용자 대신 답변에 연결할 수 있습니까?
— Conor O'Brien

@ CᴏɴᴏʀO'Bʀɪᴇɴ 고정.
— Sherlock9

실수로 당신이했던 것과 같은 알고리즘을 사용했다고 생각합니다. 죄송합니다! codegolf.stackexchange.com/a/75273 게시하기 전에 알았다면 게시하지 않았을 것입니다.
— 찰스

@NotthatCharles 글쎄, 당신의 대답은 나의 것보다 낫습니다. 그래서 나는 당신에게 공감대를주었습니다.
— Sherlock9

참고로, 0Ruby에서는 진실하기 때문에 귀하의 답변이 유효하지 않다고 생각합니다. p한 글자짜리 잘못된 값입니다.
— 찰스

4

apt, 13 12 바이트

Uá4 d@7o ¬fX

온라인으로 테스트하십시오! 또는 모든 테스트 사례를 확인하십시오 .

작동 원리

       // Implicit: U = input array
Uá4    // Take all permutations of U of length 4.
d@     // Return whether any item X returns truthily to this function:
7o ¬   //  Take the range [0..7) and join. Produces "0123456".
fX     //  Match X in this string.
       //  This returns null if X is not a subset of [0..7), and a (truthy) array otherwise.
       // Implicit output

3
좋은 접근 방식 !!
— Luis Mendo

4

펄, 47 43 42 39 37 29 바이트

에 +1 포함 -p

예를 들어 STDIN의 시퀀스로 실행

perl -p smallstraight.pl <<< "1 2 3 3 4"

smallstraight.pl:

s//$_|=1x$'.w/reg;$_=/.w{4}/

설명

s//          / eg             Each possible postfix string (including the
                              empty string) is assigned to $' in turn
                              So each input digit will be the start of $'
                              at least once
       1x$'.w                 Put a w at position $'.
                              e.g. digit 4 becomes 1111w
   $_|=                       Or into existing $_.
                                w        is binary 0111 0111
                                space    is binary 0010 0000
                                digit<=7 is binary 0011 0xxx
                              So an "or" with "w" is always w again:
                                                   0111 0111
                              And no other way can you get a w since w is the
                              only thing that can set the high bits. So the
                              already existing string in $_ has no effect on
                              the number of w's in the result
              r               The $_ that has been "or"ed several times is
                              exfiltrated out of the substitution. It will
                              have a w in every position that the original
                              string had a digit with an extra w at position
                              0 since the s///g will also have matched the
                              empty string at the end
                              So e.g. "1 2 3 5 6" will become "wwww3ww 6"
                  $_=/.w{4}/  We have a small straight if there were 4
                              consecutive numbers, now 4 consecutive w's. But
                              the w we always get at the start of the string
                              doesn't count. Notice that the string cannot 
                              have a newline since bit "0010 0000" is always
                              set. So "." to skip one character is safe

3

CJam, 16 15 12 바이트

7,4ewl~f&3f>

진지한 테스트 케이스의 경우 비어 있지 않은 문자열을, 거짓 인 경우 빈 문자열을 생성합니다.

테스트 스위트.

설명

7,      e# Push [0 1 2 3 4 5 6].
4ew     e# Get all length-4 sublists. This gives:
        e#   [[0 1 2 3]
        e#    [1 2 3 4]
        e#    [2 3 4 5]
        e#    [3 4 5 6]]
        e# i.e. all possible small straights (and an impossible one).
l~      e# Read and evaluate input.
f&      e# Set intersection of each small straight with the full list.
        e# If any small straight is contained in the list, all 4 of its
        e# elements will be retained.
3f>     e# Discard the first three elements of each intersection. If a 
        e# small straight was not in the list, this will give an empty 
        e# list. Otherwise, one element will remain.

프로그램이 끝날 때이 목록은 단일 문자열로 편평 해지고 STDOUT에 인쇄됩니다. 작은 직선이 발견되면 나머지 요소가 문자열에있게됩니다. 그렇지 않으면 모든 목록이 비어 있으므로 문자열도 비어 있습니다.


@ mbomb007 "즉, 가능한 모든 작은 직선 (및 불가능한 직선)." 입력에는 절대 0이 포함되지 않으므로 작은 직선이 절대로 나타나지 않으므로 결과에 영향을 미치지 않습니다.
— Martin Ender

@ mbomb007 예, 제거하는 [0 1 2 3]데 2 바이트가 필요합니다.
— Martin Ender

3

05AB1E , 9 8 10 바이트

Truthy 는 출력에 배열을 포함하고, 거짓 은 출력이 생성되지 않을 때입니다. 암호:

œvy¦¥1QPiy

구식 설명 :

œ          # Compute all permutations
 vy        # Map over each permutation
   ¦       # Head, leaves [1:]
    ¥      # Delta, computes the differences between the elements
     P     # Product, which computes the product of the array
      iy   # If equal to 1, push the array again
           # Implicit, if there is a match, an array will be displayed.

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

CP-1252 인코딩을 사용합니다 .


3

자바 스크립트 ES6 47 바이트

q=>/12+3+4|23+4+5|34+5+6/.test(q.sort().join``)

자바 스크립트 ES6 52 바이트

q=>/1,+1,+1/.test(q.sort().map((a,i)=>a-q[i-1]||``))

//sort the array
//map each element to the difference from the last element
//Look for three 'increment by ones' (ignore increment by 0s)


이전 답변

자바 스크립트 ES6 64 바이트

몇 바이트 절약에 도움을 준 ETHproductions 덕분에

q=>q.sort().map(o=>(o-s?o-s<2?t++:t=t>3?t:1:0,s=o),t=1,s=-1)|t>3

q=>              //take an input
q.sort()         //sort it
.map(            //for each number
  o=>
    s=           //set current value = 
      !(o-s) ?   //if it's a duplicate
        o :      //just keep the current state (set s to s again)
        (  
         o-s < 2 ?  //if the current values is one more than the next one
           t++ :    //increment the total
           t=t>4?t:1 //otherwise, set the total back to 1, unless we've hit 4 total already
         )&&o  //set the current value to the current token
   ,t=1,s=-1)  //init the total, and the current value (set it to -1 since we won't hit that anyways

|t>3 //return total > 3 (so 1 if we get a run of 4 or 5)

테스팅

//true and false test cases from OP
tr = [[1, 2, 3, 3, 4], [1, 2, 3, 4, 5], [3, 5, 6, 1, 4], [1, 5, 3, 4, 6], [4, 5, 2, 3, 5], [1, 4, 3, 2, 2], [5, 4, 3, 6, 3], [5, 3, 5, 4, 6], [2, 4, 5, 1, 3], [3, 6, 4, 5, 3], [5, 6, 4, 3, 5], [4, 5, 3, 6, 3], [4, 5, 5, 3, 2], [4, 5, 2, 3, 5], [4, 6, 5, 3, 6], [4, 2, 3, 1, 5], [3, 6, 4, 6, 5], [5, 2, 1, 3, 4], [4, 4, 1, 2, 3], [4, 1, 4, 2, 3], [5, 1, 4, 3, 6], [5, 2, 2, 3, 4], [4, 4, 6, 5, 3], [2, 4, 3, 5, 1], [5, 4, 2, 5, 3], [2, 3, 5, 5, 4], [1, 6, 3, 4, 5], [4, 5, 3, 3, 6], [6, 4, 3, 6, 5], [4, 6, 6, 5, 3], [4, 3, 5, 2, 2], [2, 3, 2, 1, 4], [4, 2, 6, 1, 3], [4, 4, 5, 3, 6], [4, 5, 6, 3, 6]]

fa = [[1, 2, 3, 5, 6], [5, 1, 1, 6, 6], [4, 6, 4, 1, 1], [6, 4, 1, 6, 4], [4, 6, 3, 6, 6], [2, 1, 4, 6, 4], [2, 6, 1, 5, 6], [2, 6, 1, 5, 6], [3, 6, 5, 3, 2], [3, 2, 3, 5, 3], [5, 5, 6, 2, 3], [3, 4, 6, 4, 3], [1, 4, 5, 5, 1], [1, 4, 4, 4, 1], [1, 6, 5, 1, 4], [6, 6, 4, 5, 4], [5, 3, 3, 3, 2], [5, 2, 1, 5, 3], [3, 5, 1, 6, 2], [6, 4, 2, 1, 2], [1, 3, 1, 3, 2], [3, 1, 3, 4, 3], [4, 3, 1, 6, 3], [4, 6, 3, 3, 6], [3, 6, 3, 6, 4], [1, 1, 3, 1, 3], [5, 5, 1, 3, 2], [3, 4, 2, 6, 6], [5, 4, 2, 6, 1], [2, 4, 4, 5, 4], [3, 6, 2, 5, 5], [2, 5, 3, 5, 1], [3, 2, 2, 3, 4], [5, 2, 2, 6, 2], [5, 6, 2, 5, 6]]

f=q=>q.sort().map(o=>(o-s?o-s<2?t++:t=t>3?t:1:0,s=o),t=1,s=-1)|t>3


tr.map(f)   //just look to make sure every value is true
fa.map(f)  //just look to make sure every value is false

1
괄호를에서 제거 할 수 있다고 생각합니다 t=(t>4)?t:1.
— ETHproductions

몇 가지 사소한 개선 사항 q=>q.sort().map(o=>(o-s?o-s<2?t++:t=t>4?t:1:0,s=o),t=1,s=9)|t>3이 있습니다 . 이 버전은 1진실과 허위로 돌아갑니다 0.
— ETHproductions

3

C #을 156 151 150 131 121 93 92 90 바이트

int l;bool f(int[]a){foreach(var v in a)l|=1<<v-1;return(l&15)>14||(l&30)>29||(l&60)>59;}

또는 : (같은 바이트 수)

int l;bool f(int[]a){foreach(var v in a)l|=1<<v;return(l&30)>29||(l&60)>59||(l&120)>119;}

언 골프 드 :

int l;
bool f(int[] a)
{
    foreach (var v in a)
        l |= 1 << v - 1;
    return (l & 15) > 14 ||   //Bits 1-4 are set OR
           (l & 30) > 29 ||   //Bits 2-5 are set OR
           (l & 60) > 59;     //Bits 3-6 are set
}

Big Edit : 방금 프로그램 전체가 아니라 함수 만 게시하면된다는 것을 깨달았습니다. 그것은 많은 것을 절약합니다. 상용구도없고 문자열 입력을 숫자 등으로 변환 할 필요가 없습니다. 이제 우리는 실제로 상당한 양의 바이트에 접근하고 있습니다 (어쨌든 골프가 아닌 언어의 경우).


3 바이트를 저장하려면 bool을 리턴하십시오.
— Timbo

@Timbo-그래, 어제 집에 와서 고쳤다 고 생각했다. 그것은 전체 프로그램 ( mainC #에서는 void또는을 반환해야 함 int)에서 남았습니다. 불행히도, 1-6 대신 0-5를 기대했기 때문에 2 바이트도 얻었습니다. 어쨌든 1 바이트의 순 손실.
— Darrel Hoffman

3

루비-80-> 79-> 76-> 54-> 48-> 40 바이트

다섯 번째 시도 (40 바이트) :

->x{/1234|2345|3456/===x.uniq.sort.join}

람다 구문을 사용하여 함수를 정의합니다. (이 아이디어에 대해 경쟁하는 Ruby 골퍼 @ Sherlock9에게 감사합니다.)

람다 호출을 사용하여 테스트하려면

s = ->x{/1234|2345|3456/===x.uniq.sort.join}
s.call([1,3,5,4,4])
s.call([1,3,5,4,2])

네 번째 시도 :

def s?(x)/1234|2345|3456/===x.uniq.sort.join end

nil로 교체 되었습니까? === 연산자로 부정.

세 번째 시도 :

def s?(x)!(/1234|2345|3456/=~x.uniq.sort.join).nil?end

정규식을 사용합니다.

두 번째 시도 :

def s?(x)[1234,2345,3456].select{|a|x.uniq.sort.join.include?a.to_s}.any?end

새로운 접근 방식은 dedup (uniq), 정렬 및 조인 및 포함을 사용합니까? 문자열로 렌더링 된 입력에서 솔루션과 일치하는 항목을 검색합니다.

첫 번째 시도 : 79 바이트

def s?(x)[[1,2,3,4],[2,3,4,5],[3,4,5,6]].select{|a|(a&x.uniq).length>3}.any?end

시험 장치:

x = [1,4,3,3,6]
s?(x)

x = [2,4,5,1,3]
s?(x)

중복 제거 (uniq 함수)와 설정 교차 (& 연산자)를 사용하여 올바른 시퀀스가 ​​주어진 시퀀스와 일치하는지 테스트합니다. 정렬이 필요하지 않습니다.


3

피스, 13 11

@.PQ4.:S6 4

Jakube 덕분에 2 바이트!

허위에 대한 진실하고 빈 목록에 대해서는 비어 있지 않은 목록을 반환합니다.

온라인으로 시도 하거나 Test Suite를 실행하십시오 (Readability ™의 구문 오류로 분리됨).


.PQ4대신.:{SQ4
— Jakube

2

PHP, 95 바이트

function s($d){$a=array_diff;$r=range;return!($a($r(1,4),$d)&&$a($r(2,5),$d)&&$a($r(3,6),$d));}
분해도
function s($d){
  $a = array_diff;
  $r = range;
  return !($a($r(1,4),$d)
        && $a($r(2,5),$d)
        && $a($r(3,6),$d));
}
입력 / 함수 호출
s(Array[int, int, int, int, int]);
산출
bool

2

진심으로, 21 바이트

3R`;4+@x`M4,╨╗`╜íu`MΣ

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

true의 경우 양수 값을, false의 경우 0을 출력합니다.

설명:

3R`;4+@x`M4,╨╗`╜íu`MΣ
3R`;4+@x`M             push [[1,2,3,4], [2,3,4,5], [3,4,5,6]
          4,╨╗         push all 4-length permutations of input to register 0
              `   `M   map:
               ╜íu       push 1-based index of list in permutations, 0 if not found
                    Σ  sum

2

PARI / GP , 71 바이트

이것은 아마도 더 골프화 될 수 있지만 시작으로 :

s=setminus;v->t=s([1..6],Set(v));!#s(t,[1,2])+!#s(t,[5,6])+!#s(t,[1,6])

더 많은 공간을 사용하지 않고 복제를 줄이는 방법을 보지 못했습니다. 이 버전은 75 바이트입니다.

s=setminus;v->t=s([1..6],Set(v));z=(u->!#s(t,u));z([1,2])+z([5,6])+z([1,6])

2

망막 , 70 54 바이트

입력은와 같은 정수의 단일 문자열입니다 13342. 출력은 1찾은 경우이거나 0그렇지 않은 경우입니다.

.                       # Replace integer digits with unary
$*x,
+`(x+(x+,))\2           # Sorts the list by repeated swapping
$2$1
(x+,)\1                 # Removes adjacent duplicates
$1
(x+,)x\1xx\1xxx\1       # Matches a small straight

5 개의 숫자 만 있기 때문에 중복 제거는 한 번만 수행하면됩니다. 둘 이상의 숫자를 제거해야한다는 것은 어쨌든 작은 숫자가 없다는 것을 의미합니다.

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

캡처 그룹 내에서 쉼표를 이동하여 엄청난 16 바이트를 절약 할 수있는 아이디어를 제공 한 Martin에게 감사합니다.


어떻게 작동합니까?
— CalculatorFeline

. $*x Replace numbers with n x's, where n is the number. +` Repeat the following until the string stabilizes (x+(x+,))\2 $2$1 Replace n*xm*x,m*x, with m*x,n*xm*x (x+,)\1 $1 Replace x*n,x*n, with x*n, (x+,)x\1xx\1xxx\1 Match n*x,xn*x,xxn*x,xxxn*x업데이트
— CalculatorFeline

@CatsAreFluffy 나는 그것을 설명으로 사용하지 않습니다. 참고로 Retina github 페이지를 다시 한 번 읽어 본 사람이라면 누구나 얻을 수 있습니다. 정렬, 중복 제거와 같이 수행중인 작업에 대한 의견은 각 항목이 대체 항목이라고 설명하는 것보다 중요합니다.
— mbomb007

2

Pyth, 11 바이트

f!-TQ.:S6 4

테스트 스위트

[1..6]의 길이 4 하위 문자열을 생성 한 다음 입력 요소가 제거 될 때 남아있는 요소가없는 경우이를 필터링합니다.


2

젤리, 9 바이트

8 바이트 솔루션이 있어야 계속 검색 할 것입니다 ... 코드 :

Œ!Ḋ€Iµ7Be

이것은 내 05AB1E 솔루션 과 동일 합니다 .

설명:

Œ!         # Compute all permutations
  Ḋ€       # Dequeue each, leaving [1:]
    I      # Delta function
     µ     # Start a new monadic chain
      7B   # 7 in binary, which is [1, 1, 1]
        e  # Return 1 if this array exists

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


또 다른 대안 9 : Œ!I=1ZS3e...
— FryAmTheEggman

에서 작동 [1, 2, 1, 2, 1]하지 않으며 불행히도 다른 답변도 없습니다 . 내 대안은 효과가있는 것 같지만 (이전에 테스트 해 보았습니다 ...) : 자유롭게 사용하십시오.
— FryAmTheEggman

2

젤리, 8 바이트

6Rṡ4ḟ€ċ“

온라인으로 사용해보십시오! 또는 확인 truthy 테스트 케이스 와 falsy 테스트 케이스를 .

작동 원리

6Rṡ4ḟ€ċ“  Main link. Argument: A (list)

6R        Yield [1, 2, 3, 4, 5, 6].
  ṡ4      Split it into overlapping slices of length 4, yielding
          [[1, 2, 3, 4], [2, 3, 4, 5], [3, 4, 5, 6]].
    ḟ€    Remove all occurrences of A's elements from each slice.
      ċ“  Count the resulting number of empty list.
          This returns the number of distinct small straights in A (0, 1 or 2).

2

스칼라, 76 70 61 60 바이트

(s:Seq[Int])=>(1 to 6)sliding(4)exists(t=>(s diff t).size<2)

시험 장치:

val f = <code here>
val truthy = Seq(Seq(1, 2, 3, 3, 4), Seq(1, 2, 3, 4, 5), Seq(3, 5, 6, 1, 4), Seq(1, 5, 3, 4, 6), Seq(4, 5, 2, 3, 5), Seq(1, 4, 3, 2, 2), Seq(5, 4, 3, 6, 3), Seq(5, 3, 5, 4, 6), Seq(2, 4, 5, 1, 3), Seq(3, 6, 4, 5, 3), Seq(5, 6, 4, 3, 5), Seq(4, 5, 3, 6, 3), Seq(4, 5, 5, 3, 2), Seq(4, 5, 2, 3, 5), Seq(4, 6, 5, 3, 6), Seq(4, 2, 3, 1, 5), Seq(3, 6, 4, 6, 5), Seq(5, 2, 1, 3, 4), Seq(4, 4, 1, 2, 3), Seq(4, 1, 4, 2, 3), Seq(5, 1, 4, 3, 6), Seq(5, 2, 2, 3, 4), Seq(4, 4, 6, 5, 3), Seq(2, 4, 3, 5, 1), Seq(5, 4, 2, 5, 3), Seq(2, 3, 5, 5, 4), Seq(1, 6, 3, 4, 5), Seq(4, 5, 3, 3, 6), Seq(6, 4, 3, 6, 5), Seq(4, 6, 6, 5, 3), Seq(4, 3, 5, 2, 2), Seq(2, 3, 2, 1, 4), Seq(4, 2, 6, 1, 3), Seq(4, 4, 5, 3, 6), Seq(4, 5, 6, 3, 6))
val falsy = Seq(Seq(1, 2, 3, 5, 6), Seq(5, 1, 1, 6, 6), Seq(4, 6, 4, 1, 1), Seq(6, 4, 1, 6, 4), Seq(4, 6, 3, 6, 6), Seq(2, 1, 4, 6, 4), Seq(2, 6, 1, 5, 6), Seq(2, 6, 1, 5, 6), Seq(3, 6, 5, 3, 2), Seq(3, 2, 3, 5, 3), Seq(5, 5, 6, 2, 3), Seq(3, 4, 6, 4, 3), Seq(1, 4, 5, 5, 1), Seq(1, 4, 4, 4, 1), Seq(1, 6, 5, 1, 4), Seq(6, 6, 4, 5, 4), Seq(5, 3, 3, 3, 2), Seq(5, 2, 1, 5, 3), Seq(3, 5, 1, 6, 2), Seq(6, 4, 2, 1, 2), Seq(1, 3, 1, 3, 2), Seq(3, 1, 3, 4, 3), Seq(4, 3, 1, 6, 3), Seq(4, 6, 3, 3, 6), Seq(3, 6, 3, 6, 4), Seq(1, 1, 3, 1, 3), Seq(5, 5, 1, 3, 2), Seq(3, 4, 2, 6, 6), Seq(5, 4, 2, 6, 1), Seq(2, 4, 4, 5, 4), Seq(3, 6, 2, 5, 5), Seq(2, 5, 3, 5, 1), Seq(3, 2, 2, 3, 4), Seq(5, 2, 2, 6, 2), Seq(5, 6, 2, 5, 6))
println("Failed truthy: " + truthy.filterNot(f))
println("Failed falsy: " + falsy.filter(f))

2

자바 스크립트 ES6 43 바이트

q=>/1,1,1,1/.test(q.map(a=>l[a]=1,l=[])&&l)


//이 작업을 제대로 수행하지 못했습니다 : /

q=>q.map(a=>l&=~(1<<a),l=62)&&l<7||l==32

이것은 숫자 62를 가져옵니다 (이진수로 111110) 입력 배열의 각 숫자에 대해 해당 비트를 제거합니다.

결과 숫자는

100000 or
000000 or
000010 or
000110 or
000100

결과가 7 (0000111)보다 작은 지 또는 32 (100000)와 같은지 확인합니다.


2,3,4,5,2와 같은 목록을 가진 34 일 수 없었습니까?
— lirtosiast

그래도 이것이 효과가 없다는 사실은 바뀌지 않습니다 [3, 4, 5, 4, 3]. 62 대신 126을 사용해야한다고 생각합니다.
— Sp3000

2

TI-BASIC, 25 바이트

not(min(fPart(prod(Ans+36)/(65{703,779,287

테스트 할 수있는 동등한 (비합법적 인) 파이썬 표현식 :

def has_small_straight(l):
    product = reduce(lambda x,y: x*y, [x + 36 for x in l], 1)
    numbers = [37*19*13*5, 19*13*5*41, 13*5*41*7]
    return not(all([product%x for x in numbers]))

이 배후의 아이디어는 분열입니다. 여부를 확인하기 위해 1, 2, 3, 4, 2, 3, 4, 5또는 3, 4, 5, 6발생, 우리는 함께 곱 다음 올바른 번호를 37-42로 번호를 1-6 매핑 할 수 있습니다.

[37,42]의 각 숫자에는 다른 숫자가없는 주요 요소가 있습니다.

n             |  1 |  2 |  3 |  4 |  5 |  6 |
n + 36        | 37 | 38 | 39 | 40 | 41 | 42 |
Factor        | 37 | 19 | 13 |  5 | 41 |  7 |

따라서 5 개 숫자의 곱을 37로 나눌 수 있으면 원래 목록에 1이 포함되고 19이면 2가 포함됩니다. 등이로 나누어 경우 37*19*13*5= 65*703, 포함 된 1, 2, 3, 및 4유사하게 다른 두 숫자.

이 솔루션은 @Weregoose 가 2009 년에 게시 한 솔루션을 개선 한 것 입니다 .


훌륭합니다!
— 찰스

2

볼거리, 113 78 바이트

내가 사용하는 유행성 이하선염의 버전은 InterSystems Cache입니다.

나는이 기술을 더 짧은 시간에 골라내는 방법을 생각할 수 없다. 다른 기술로 가능할 수도 있지만 현재로서는 적어도 C ++보다 짧지 만 ... 별로는 아닙니다. 어쨌든...

자, 여기 더 짧은 방법이 있습니다. 단기에 3 개의 개별 변수를 두는 대신 6 개의 주사위 모두에 단일 변수를 사용하고 나중에 부분을 추출하십시오.

R R S Y=111111 F F=1:1:5{S $E(Y,$E(R,F))=0} W '$E(Y,1,4)!'$E(Y,2,5)!'$E(Y,3,6)

같은 테크닉으로 더 나은 길을 찾지 못하고 있습니다. 도약하기 전에 살펴 봐야합니다. ;-)

역사적인 목적을 위해 원래 답변을 아래에 남겨 두겠습니다 ...



R R S (G,H,I)=1111 F F=1:1:5{S Q=$E(R,F) S:1234[Q $E(G,Q)=0 S:2345[Q $E(H,Q-1)=0 S:3456[Q $E(I,Q-2)=0} W 'G!'H!'I

다음은 코드에서 진행되는 작업에 대한 설명입니다.

R R                   ; read from STDIN to variable R
S (G,H,I)=1111        ; set our 3 possible short straights
F F=1:1:5{            ; For loop from 1 to 5
S Q=$E(R,F)           ; get each digit from the input and save in Q
S:1234[Q $E(G,Q)=0    ; If Q is either 1,2,3 or 4, zero out that position in G.
S:2345[Q $E(H,Q-1)=0  ; if Q is either 2,3,4 or 5, zero out that position (-1) in H.
S:3456[Q $E(I,Q-2)=0  ; if Q is either 3,4,5 or 6, zero out that position (-2) in I.
}                     ; and end the loop.
W 'G!'H!'I            ; If G,H, or I are all zeroes (indicating a full straight),
                      ; taking the not of each will make (at least one) of the
                      ; values true. OR-ing all three values will let us know if
                      ; at least one short straight was complete.
                      ; Output is 1 for truthy, 0 for falsy.

나는 모든 입력을 수동으로 입력하는 것과 관련된 모든 진실되고 허위 입력을 테스트하지 않았습니다 . 그러나 나는 대략 각각의 전반부를 테스트했고, 긴 직선이 여전히 진실성을 나타내고 검증 된 몇몇 실행이 반드시 올바르게 작동하지 않는 것으로 확인되었습니다 ([4,2,5,3,4], [1,2,3,3) , 4] 등)하고 올바르게 작동하는 것 같습니다.


2

Dyalog APL , 15 바이트

{∨/∧/⍵∊⍨⍵∘.+⍳4}

사용 ⎕IO=0

⍳4 이다 0 1 2 3

⍵∘.+⍳4 5 × 4는 각 다이의 매트릭스가 ⍳4

⍵∊⍨ 행렬의 요소가 손에 있는지 확인하고 결과는 부울 (0 또는 1) 행렬이며 모든 1의 행을 찾아야합니다.

∧/ 행에 의한 and-reduction이고, 결과는 부울 벡터입니다

∨/ 그 벡터의 or- 감소입니다


1

젤리, 11

QṢṡ4ðfø6Rṡ4

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

이것은 내 Pyth 답변의 사본이며, 물건을 묶는 방법을 알아 내려고합니다. 골프를 타야 할 것 같은 느낌.

확장:

QṢṡ4ðfø6Rṡ4  ##  1, 2, 0 chain, 1 argument from command line
QṢṡ4         ##  first chain, uniQue and Sort the input, then
             ##  get overlapping lists of length 4 (ṡ)
    ð        ##  separator
     f       ##  filter left argument on being a member of right argument
      ø      ##  separator
       6Rṡ4  ##  all overlapping lists of length 4, from 1-indexed range of 6
             ##  generates [1,2,3,4],[2,3,4,5],[3,4,5,6]

구분 기호가 다른 이유와 같은 어려운 질문을하고 싶다면 내 대답은 "6-8 주 후에 답변 할 것입니다": P (더 심각하게 말하면 패턴 일치라고 생각합니다. vs nilad-dyad, 그러나 나는 잘못된 정보를 퍼 뜨리고 싶지 않습니다.)


설명 :Q Unique elements Ṣ sort the list ṡ4 all slices of length 4 ðf filter by { 6R range form 1 to 6 ṡ4 all slices of length 4 from that
— CalculatorFeline

어떤 이유로 Q문서의 대문자 오버 도트 연산자가 있습니다. 어쩌면 그것은 한 번 지나치다?
— CalculatorFeline

@CatsAreFluffy 나는 전혀 모른다 . 아톰 페이지 의 코드 페이지 중 하나를 사용했다 .
— FryAmTheEggman
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.