태그 보관물: code-golf

code-golf

노아의 정수 목록 불건전 한 부분과 그가 각각의 동물

소개:

나는 우리 모두 그것에 대해 들었다고 생각하지만 여기에 아주 간단한 요약이 있습니다. 노아는 큰 홍수 동안 그의 방주를 구하기 위해 지구상의 모든 동물 종 두 마리를 암수로 모았습니다. 성서의 실제 인용문은 다음과 같습니다.

창세기 7 : 2-3
모든 종류의 깨끗한 동물, 남자와 그 배우자, 두 종류의 부정한 동물, 남자와 그 배우자, 그리고 하늘에있는 모든 종류의 새 중 일곱 가지를 가지고 가야합니다 , 남자와 여자, 지구의 얼굴에 그들의 자손을 보존합니다.
출처

그러나이 도전을 위해 우리는 깨끗하고 불건전 한 부분과 그가 각각의 동물 중 7 마리를 취하는 부분을 무시할 것입니다. 이 도전은이 부분에 관한 것입니다.

모든 종류의 부정한 동물, 수컷과 그 짝

도전:

입력:

양의 정수 목록 (임의 순서로)이 제공됩니다.

산출:

‘노아의 목록’인지 아닌지를 나타내는 두 개의 고유 값. 이것은해야 필요하지 않습니다 truthy / falsey의 이렇게도 될 수있다, 값을 0/ 1자바 / C #에서, 또는 'A'/ 'B'몇 가지 예제를주고, 어떤 언어로.

목록은 언제 ‘노아의 목록’입니까? 목록에 모든 정수 중 정확히 두 개가있는 경우

도전 규칙 :

  • I / O는 유연합니다. 입력은 정수 / 부동 / 문자열의 목록 / 배열 / 스트림이거나 STDIN에서 하나씩 읽습니다. 출력은 함수에서 출력되거나 STDOUT / 파일로 리턴되는 두 가지 고유 값일 수 있습니다 .
  • 입력 목록의 정수는 무작위 순서이며 범위 내에서 양의 값을 .
    1n100000

  • 입력 목록이 비어 있지 않은 것이 보장됩니다.
  • 2보다 2 배 많은 정수 (즉, 4, 6, 8 등)를 갖는 것은 잘못된 것입니다. 즉 [6,4,4,6,4,7,4,7], 다음과 같이 동일한 쌍을 만들 수는 있지만 거짓 [[4,4],[4,4],[6,6],[7,7]]입니다.

일반적인 규칙:

  • 이것은 이므로 바이트 단위의 최단 답변이 이깁니다.
    코드 골프 언어가 코드 골프 언어 이외의 언어로 답변을 게시하지 못하게하지 마십시오. ‘모든’프로그래밍 언어에 대한 가능한 한 짧은 대답을 생각해보십시오.
  • 표준 규칙기본 I / O 규칙으로 답변에 적용 되므로 STDIN / STDOUT, 적절한 매개 변수 및 반환 유형의 전체 프로그램과 함께 함수 / 방법을 사용할 수 있습니다. 당신의 전화.
  • 기본 허점 은 금지되어 있습니다.
  • 가능하면 코드 테스트와 링크를 추가하십시오 (예 : TIO ).
  • 또한 답변에 대한 설명을 추가하는 것이 좋습니다.

테스트 사례 :

Truthy:
[7,13,9,2,10,2,4,10,7,13,4,9]
[1,2,3,1,2,3]
[10,100,1000,1,100,10,1000,1]
[123,123]
[8,22,57189,492,22,57188,8,492,57188,57189,1,1]

Falsey:
[6,4,4,6,4,7,4,7]
[2,2,2,2,2,2]
[5,1,4,5,1,1,4]
[77,31,5,31,80,77,5,8,8]
[1,2,3,2,1]
[44,4,4]
[500,30,1]
[1,2,1,1]
[2,4,6,4,4,4]
[2,23,34,4]
[2,23,3,3,34,4]



답변

파이썬 3 , 31 바이트

lambda l:{*map(l.count,l)}=={2}

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


파이썬 2 , 33 바이트

lambda l:set(map(l.count,l))=={2}

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


답변

05AB1E , 4 바이트

¢<PΘ

온라인으로 사용해보십시오!
또는 테스트 스위트

설명

¢      # count all occurrences of each element in the input list
 <     # decrement each
  P    # product
   Θ   # is equal to 1


답변

Brachylog , 4 바이트

ọtᵛ2

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

설명

ọ           Get the list of occurences of elements in the input: [[x,2], [y,2], …]
  ᵛ         Verify that for each of those pairs…
 t          …the tail (i.e. the number of occurences)
   2        …is 2


답변

R , 20 바이트

입력 방법을 변경하여 digEmAll 덕분에 -6 바이트

any(table(scan())-2)

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

FALSE노아의 목록 인 경우 출력 합니다 TRUE. 정수뿐만 아니라 모든 입력 유형에서 작동합니다.

목록에있는 각 값의 개수를 계산하고 개수가 2와 다른지 확인합니다.


답변

APL (Dyalog Extended) , 5 바이트 SBCS

2¨≡⍧⍨

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

사실인가요?

 각 요소 당 2 개

 ~와 동일하다

⍧⍨ 셀카 셀카 (자체 자체 요소의 수)

?


답변

C # (Visual C # 대화식 컴파일러) , 39 , 32 바이트

l=>l.All(x=>l.Count(y=>y==x)==2)

@Expired_Data 덕분에

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


답변

하스켈 , 33 바이트

f x=and[sum[1|b<-x,b==a]==2|a<-x]

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

입력의 각 요소에 대해 입력 목록에 두 번 나타납니다.

sum[1|b<-x,b==a]의 골퍼 버전입니다 length(filter(==a)x).