省略記号を複数形にするには?

明らかに省略記号です。


チャットメッセージ
に触発されています。

あなたの挑戦

リストまたはスペースまたはコンマ区切りの単語列が与えられれば、省略記号がそれを示します。

ellipsisessieses-ifyの単語に:

  1. Start with the word.
  2. Add the first letter of the original word to the end.
  3. Add 2 of the last letter of the original word to the end.
  4. Add the second-to-last letter of the original word to the
    end.
  5. Add the first letter of the original word to the end.
  6. Add the last letter of the original word to the end.
  7. Repeat steps 5 & 6 once.
  8. You’re done!

あなたは仮定することができます:

  • The input words will only be alphanumeric
  • Input & output can be a space-separated string or list
  • The input will contain only words
  • The words will be at least 2 letters long
  • The input will match the regex /^[a-z0-9]{2,}(
    [a-z0-9]{2,})*$/i
  • You can have a different input and output format
  • More to come…

テストケース:

ellipsis -> ellipsisessieses
goat -> goatgttagtgt
covfefe -> covfefeceefcece
programmer5000 -> programmer5000p000p0p0
up vote down goat -> upuppuupup voteveetveve downdnnwdndn goatgttagtgt
it is golf yo -> itittiitit isissiisis golfgfflgfgf yoyooyyoyo
crossed out 44 is still 44 -> crossedcddecdcd outottuotot 4444444444 isissiisis stillslllslsl 4444444444

最短の答えはバイト内のバイトです。

ベストアンサー

JavaScript(ES6)、 58 57バイト

NB: This turns out to use the same trick as Jonathan Allan
in this
Jelly answer
(though I noticed after posting).

Jonathan Allanのおかげで1バイト保存

文字列の配列に作用します。

s=>s.map(s=>s+'01120101'.replace(/./g,n=>s.substr(-n,1)))

テストケース

<div class=”snippet” data-lang=”js” data-hide=”true”
data-console=”true” data-babel=”false”> <div
class=”snippet-code snippet-currently-hidden”>

let f =

s=>s.map(s=>s+'01120101'.replace(/./g,n=>s.substr(-n,1)))

console.log(f(['ellipsis']))
console.log(f(['goat']))
console.log(f(['covfefe']))
console.log(f(['programmer5000']))
console.log(f(['up', 'vote', 'down', 'goat']))
console.log(f(['it', 'is', 'golf', 'yo']))
console.log(f(['crossed', 'out', '44', 'is', 'still', '44']))

</div> </div>

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です