n 번째 문자는 마지막 문자의 n 번째 문자와 동일합니까? 수 있습니다. 그주의 사항 n의

영감 은 시작이 끝과 같습니까?

문자열 s과 정수가 주어지면 th char in 이 end char in th 의 th 와 같은지에 n대한 진실 / 거짓을 출력합니다 .nsns

입력

비어 있지 않은 문자열과 정수 0 기반 인덱싱 또는 1 기반 인덱싱을 사용할 수 있습니다. 정수는 문자열을 기반으로 유효한 것으로 보장됩니다. 예를 들어 문자열이 “supercalifragalistic123″인 경우 정수는 1 기반 색인의 경우 1-23이고 0 기반 색인의 경우 0-22 일 수 있습니다. 그주의 사항 n의 절반 길이보다 클 수 있습니다 s.

입력은 인쇄 가능한 ASCII로 제한됩니다.

산출

nth 값 s이의 n마지막 값과 th 와 같은지 여부를 기반으로하는 참 / 거짓 값입니다 s.

마지막 문자는 0 기반 색인의 경우 위치 0에 있고 1 기반 색인의 경우 위치 1에 있습니다. 문자열을 반대와 비교하는 것으로 생각하십시오.

테스트 사례

0 인덱스

"1", 0         Truthy 1 == 1
"abc", 1       Truthy b == b
"aaaaaaa", 3   Truthy a == a
"[][]", 1      Falsey ] != [
"[][]", 0      Falsey [ != ]
"ppqqpq", 2    Truthy q == q
"ababab", 5    Falsey a != b
"12345", 0     Falsey 1 != 5
"letter", 1    Truthy e == e
"zxywv", 3     Falsey w != x

1- 색인

"1", 1         Truthy 1 == 1
"abc", 2       Truthy b == b
"aaaaaaa", 4   Truthy a == a
"[][]", 2      Falsey ] != [
"[][]", 1      Falsey [ != ]
"ppqqpq", 3    Truthy q == q
"ababab", 6    Falsey a != b
"12345", 1     Falsey 1 != 5
"letter", 2    Truthy e == e
"zxywv", 4     Falsey w != x


답변

젤리 , 5 4 바이트

=UƓị

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

젤리에는 더 짧은 대답이 없어야합니다. 프로그램은 비교, 반전 / 음화, 인덱스 호출 및 제어 흐름 바이트 ( Ɠ이 경우)를 필요로하므로 최대 4 바이트가 필요합니다.

작동 원리

 =UƓị
       - (implicit) input string
 =     - equals (vectorizing by characters because a string is a charlist)
  U    - the reversed string
    ị  - get the element at the index of:
   Ɠ   - the input index

@ ais523 덕분에 -1 바이트 Ɠ


답변

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

s=>n=>s[n]==s.substr(~n,1)

또는

s=>n=>s[n]==s.slice(~n)[0]

이것은 거의 작동하지만 n == 0(왜냐하면 s.slice(-1,0) == "") 실패합니다 .

s=>n=>s[n]==s.slice(~n,-n)

@RickHitchcock이 지적한 또 다른 26 바이트 솔루션 :

s=>n=>s[n]==s[s.length+~n]

답변

MATL , 5 바이트

tP=w)

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

설명:

t   % Duplicate the input

Stack:
    ['ppqqpq' 'ppqqpq']

P   % Reverse the top element of the stack

Stack:
    ['ppqqpq' 'qpqqpp']

=   % Equals. Push an array of the indices that are equal

Stack:
    [[0 1 1 1 1 0]]

w   % Swap the top two elements

Stack:
    [[0 1 1 1 1 0], 3]

)   % Grab the a'th element of b

답변

옥타브 , 22 바이트

@(s,n)s(n)==s(end-n+1)

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

또는 동일한 바이트 수 :

@(s,n)s(n)==flip(s)(n)

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

설명:

매우 간단합니다. 첫 번째는 문자열 s과 정수 n를 입력으로 받아 n 번째 요소 s(n)와 “last-n + 1″요소가 같은지 점검합니다 .

두 번째 요소 s(n)는 n 번째 요소를 s반대로 n 번째 요소 와 비교합니다 .


답변

05AB1E , 7 5 바이트

Adnan 덕분에 -2 바이트

ÂøsèË

온라인으로 사용해보십시오! 또는 모든 테스트를 시도하십시오

     # Add a reversed copy on top of the original string
 ø    # Zip
  sè  # Extract the nth element
    Ë # Check if they are equal

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


답변

하스켈, 22 바이트

s#n=s!!n==reverse s!!n

0- 저음. 사용 예 : "letter" # 1-> True.

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


답변

Alice , 24 바이트

/t.~e?/-mom
\I!RtI&1n;@/

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

입력은 한 줄의 문자열과 두 번째 줄의 숫자로 구성됩니다. 출력은 Jabberwocky문자가 동일하고 그렇지 않은 경우입니다.

설명

이 프로그램은 주로 순서 모드에 있으며 하나의 명령은 기본 모드에 있습니다. 선형화 된 프로그램은 다음과 같습니다.

I.ReI&1m;mt!~t?&-no

I  % Input first line
   % STACK: ["ppqqpq"]
.  % Duplicate top of stack
   % STACK: ["ppqqpq", "ppqqpq"]
R  % Reverse top of stack
   % STACK: ["ppqqpq", "qpqqpp"]
e  % Push empty string
   % STACK: ["ppqqpq", "qpqqpp", ""]
I  % Input next line
   % STACK: ["ppqqpq", "qpqqpp", "", "3"]
&  % (cardinal mode) Pop stack and repeat next command that many times
   % STACK: ["ppqqpq", "qpqqpp", ""], ITERATOR: [3]
1  % Append "1" to top of stack
   % STACK: ["ppqqpq", "qpqqpp", "111"]
m  % Truncate so the top two strings on the stack have the same length
   % STACK: ["ppqqpq", "qpq", "111"]
;  % Discard top of stack
   % STACK: ["ppqqpq", "qpq"]
m  % Truncate again
   % STACK: ["ppq", "qpq"]
t  % Extract last character
   % STACK: ["ppq", "qp", "q"]
!  % Move top of stack to tape
   % STACK: ["ppq", "qp"]
~  % Swap
   % STACK: ["qp", "ppq"]
t  % Extract last character
   % STACK: ["qp", "pp", "q"]
?  % Copy data from tape onto top of stack
   % STACK: ["qp', "pp", "q", "q"]
&  % Iterator: effectively a no-op in ordinal mode when the top of the stack is a 1-character string
   % STACK: ["qp", "pp", "q"], ITERATOR: ["q"]
-  % Remove occurrences: here, result is "" iff the characters are equal
   % STACK: ["qp", "pp", ""]
n  % Logical Not (for a consistent truthy value)
   % STACK: ["qp", "pp", "Jabberwocky"]
o  % Output top of stack