タグ付けされた質問 「string」

文字列の使用と操作を通じて特定の問題を解決するための競争。

7
文字列のローカル期間
ローカル期間 空でない文字列sを取得します。ローカル周期のSインデックスでは、iが最小の正の整数n個毎ように0≤K <N 、我々は、S [I + K] = S [I-N + K]両側が定義されるたびに。または、連結wwがsの隣に配置され、wの2番目のコピーがsのインデックスiで始まる場合、2つの文字列は重複する場所で一致するように、空でない文字列wの最小長です。 例として、(0から始まる)インデックス2 でs = "abaabbab"のローカル周期を計算してみましょう。 n = 1を試してください:s [2 + 0]≠s [2-1 + 0]なので、この選択は正しくありません。 n = 2を試してください:それからs [2 + 0] = s [2-2 + 0]がs [2 + 1]≠s [2-2 + 1]なので、これも正しくありません。 n = 3を試してください:s [2 + 0-3]は定義されません、s [2 + …
20 code-golf  string 

16
シンプルなマークダウンレンダリング
Stack Exchangeネットワーク上の投稿にヘッダーを作成する方法はいくつかあります。PPCGで最も一般的に使用される形式は次のようです1 # Level one header ## Level two header ### Level three header ハッシュマークの後のスペースに注意してください。また、末尾のハッシュマークは含まれないことに注意してください。 チャレンジ: (おそらく複数行の)文字列を入力として受け取り、次の形式で文字列を出力します。 ヘッダーがレベル1の場合、各文字を4 x 4回出力します ヘッダーがレベル2の場合、各文字を3 x 3回出力します ヘッダーがレベル3の場合、各文字を2 x 2回出力します 行がヘッダーでない場合は、そのまま出力します。 説明する: --- Level 1 --- # Hello --- Output--- HHHHeeeelllllllloooo HHHHeeeelllllllloooo HHHHeeeelllllllloooo HHHHeeeelllllllloooo --- Level 2 --- ## A B C def --- …

28
これらの識別子は同等ですか?
言語Nimでは、識別子を区別するための規則は、他のほとんどの言語よりもわずかに緩和されています。これらのルールに従う場合、2つの識別子は同等であるか、同じ変数に対応します。 両方の最初の文字は同じです (大文字と小文字が区別されます) 両方の文字列が同じである(場合に敏感な)除去した後、すべてのインスタンスの文字を-と_ チャレンジ Nim識別子を表す2つの文字列を受け取り、上記のルールで同等であるかどうかに基づいてtrueまたはfalseの値を出力するプログラム/関数を作成します。 仕様書 標準のI / Oルールが 適用されます。 標準的な抜け穴は禁止されています。 文字列にはASCII印刷可能文字のみが含まれます。あなたはしていない、それは有効な識別子だかどうかを確認する必要があります。 文字列は、2つの個別の入力、文字列のリストなどとして使用できます(ドリルを知っています)。 空の文字列を処理する必要はありません。 出力は、真偽値と偽値の両方で一貫している必要があります。 この課題は、すべての言語で最短のアプローチを見つけることではなく、各言語で最短のアプローチを見つけることです。 あなたのコードがされるバイト数で得点特に指定がない限り、通常はエンコーディングUTF-8で、。 このタスクを実行する組み込み関数は許可されますが、組み込みに依存しないソリューションを含めることをお勧めします。 「実用的な」言語であっても説明が奨励されます。 テストケース Input Output count, Count falsey lookMaNoSeparator, answer falsey _test, test falsey test, tset falsey aVariableName, a_variable_name truthy numbers_are_cool123, numbersAreCool123 truthy symbolsAre_too>_>, symbols_areTOO>> truthy Ungolfedリファレンス実装 これはNimで書かれています。 import strutils, re proc …

6
より効率的な米国の州コード
その米国の州を略してください!楽しかったのですが、現在のシステムでは米国の州名を効率的に短縮するのは難しいことがわかりました。効率的なゴルフのための代替の州コード体系を考えてみましょう。 あなたのタスク: 有効な米国の州名(通常の50州のみが必要)を指定して、それを識別する一意の2文字のコードを大文字で返す関数(またはプログラム)を作成します。コードは次の要件を満たしている必要があります。 最初の文字は、州の最初の文字と同じでなければなりません。 2番目の文字は、州の他の文字の1つでなければなりません(スペースではありません)。 同じ入力に対して常に同じ出力を与える必要があり、2つの異なる有効な入力に対して同じ出力を与えてはなりません。 たとえば、「アラバマ」を指定すると、関数は「AL」、「AA」、「AB」または「AM」を返すことができます-アラスカ、アーカンソーなどのいずれに対してもその値を返さない限り(「AA "は、州名に" A "が2回以上現れるためにのみ可能です。) 標準的な抜け穴は禁止されています。標準入出力は大丈夫です。これはコードゴルフであるため、バイト単位での最短のソリューションが勝ちです。 可能な入力の完全なリストは次のとおりです。 Alabama Alaska Arizona Arkansas California Colorado Connecticut Delaware Florida Georgia Hawaii Idaho Illinois Indiana Iowa Kansas Kentucky Louisiana Maine Maryland Massachusetts Michigan Minnesota Mississippi Missouri Montana Nebraska Nevada New Hampshire New Jersey New Mexico New York North Carolina …
20 code-golf  string 

9
その文字列を文字化けします!
文字列を入力として、次のような文字列の1つ以上のバリアントを出力します。 元の位置にキャラクターがいない 最初に隣接していたキャラクターに隣接するキャラクターはありません これは、指定された文字列に対して常に可能であり、単一の大文字のアルファベット文字のみを含むと想定できます([a-z]または必要に[A-Z]応じて) 同じ文字の重複は一意と見なされないことに注意してください。 たとえば、inputを指定するprogrammingと、出力にm7番目または 8番目の文字を含めることはできずg、4番目または 11番目の文字に含めることはできません(1インデックス付き) 例: 文字列を取る abcdef 有効な出力は次のとおりです。 daecfb ただし、次のfdbcae例は無効です。この例のようにc、bまだ隣接しています。 隣接関係はまた、あなたが行うことができなかったという意味、ラップfdbecaなどfとaまだ隣接しています。 テストケース: 指定された入力に対して有効な出力はこれらだけではないことに注意してください として書かれたinput -> output: helowi -> ioewhl mayube -> euabmy stephens -> nhseespt aabcdeffghij -> dbfhjfigaeca 得点: これはコードゴルフなので、各言語で最少のバイトが勝ちます!

18
繰り返しますか?
同等の連続する2つの部分文字列が含まれている場合、文字列は繰り返されます。 たとえば、2034384538452含まれているとおりに繰り返す3845、連続 2回ます。 したがって、あなたの課題は、文字列に繰り返し部分文字列が含まれているかどうかを判断することです。入力は文字列または文字の配列として取得できます。 空の入力を受け取ることはありません。また、部分文字列の長さ(存在する場合)は1以上になる場合があります。 私が使用1し、0ここに私のtruthyとfalsy値として、しかし、あなたは限り、彼らはあなたの言語でtruthyとfalsyあるとして、異なる値を使用することができます。 例: abcab -> 0 bdefdefg -> 1 Hello, World! -> 1 pp.pp/pp -> 1 q -> 0 21020121012021020120210121020121012021012102012021020121012021020120210121020120210201210120210121020121012021020120210121020121012021012102012021020121012021012102012101202102012021012102012021020121012021020120210121020121012021012102012021020121012021020120210121020120210201210120210121020121012021020120210121020120210201210120210201202101210201210120210121020120210201210120210121020121012021020120210121020121012021012102012021020121012021020120210121020120210201210120210121020121012021020120 -> 0 (最後の例は、Thue-Morseシーケンスの各ゼロ間の1の量から生成されました)

19
大きなASCII Xを描く
問題 同様のことをする前の挑戦に触発された 正の整数入力n出力が与えられた場合、このパターンに従う形状: 入力n=1: * * * * * 入力n=2: ** ** **** ** **** ** ** 入力n=3: *** *** *** *** ***** *** ***** *** *** *** *** 等々... 次のプロパティがあります。 n*2+1 背の高い線 「腕」はn幅が広い 中心線がn広い 場合n偶数ラインの上および中央未満であるn*2広いです n奇数の場合、中心の上下の線はn*2-1幅が広い ルール 末尾の改行を受け入れました 標準的な抜け穴が適用されます 最短バイトが勝つ 出力は、印刷または文字列または文字列の配列です。 編集 n=0 処理する必要はありません 末尾のスペースを許可

30
パスワードを読む
あなたの課題は、キーボード/標準入力から「パスワード」を読み取ることです。 チャレンジ: 文字列を読む s目に見えない。 の各文字について s、文字を出力しcます。 リアルタイムで。 ルール: 印刷する必要があります cリアルタイムでます。ユーザーが文字を入力したらすぐに表示する必要がありますc。 c 定数でなければなりません。つまり、同じ文字でなければなりません。 c目に見えるものはどれでも文字を使用(つまり、改行、スペース、タブ、または印刷不可にすることはできません)。 cに基づくことはできませんs。つまり、c前に定義/定数する必要がありますs読み取るあります。 c プログラムを実行するたびに同じでなければなりません。 c の文字のいずれかになります s他のすべての規則が守られている限り、偶然の場合。 のどの文字sも画面に表示されない場合がありますが、c例外があります(前の規則を参照)。 他のすべてのルールに従う限り、入力および出力の合理的な方法を使用できます。 の長さはs、ターミナル/グラフィカルウィンドウの幅より長くなることはないと想定できます。 端末を使用している場合、プログラムは改行またはEOFが入力された後に終了する必要があります。 例: Ifはsいたpassword01とcし*、出力は次のようになります。 勝者: 各言語で最短の提出が勝ちです。
20 code-golf  string 

20
数字を含む言葉
数字の単語は、いくつかの文字を削除した後、1、2、3、4、5、6、7、8、9のいずれか1つの数字が残る単語です(ゼロではありません)。 たとえば、BOUNCEとANNOUNCEは数字の単語を含むため、数字の単語です。 ENCODEは、O、N、およびEを含んでいるにもかかわらず、数字ではありません。それらは順序が正しくないためです。 入力またはパラメーターとして単一の(大文字または小文字-選択)単語を受け取り、それが数字単語かどうかを判別するプログラム/関数を作成します。コードをできるだけ短くしてください。 単語が数字の単語でない場合は、「NO」、0、または「falsey」値を返す必要があります(これは言語によって異なる場合があります)。単語が数字の単語である場合、それに含まれる数字を数字として出力する必要があります。 単語に複数の数字が含まれていないと想定できるため、ONFIVEのようなものはありません。 テストケース BOUNCE 1 ENCODE NO EIGHT 8 BLACKJACK NO FABULOUS NO EXERCISE NO DRIFTWOOD 2 SERVICEMAN 7 INSIGNIFICANCE 9 THROWDOWN 2 ZERO NO OZNERO 1 この課題は、BIO 2009の質問1から抜粋したものです(非常にわずかな修正です)。ほとんどのテストケースは、マークスキームから取得されます。
20 code-golf  string 

30
インターリーブ反転
文字列が与えられたら、インターリーブで逆にします。abcdefghiおよびabcdefghijにインデックスを付ける方法を次に示します。 偶数インデックスの文字を奇数インデックスの文字から分離します。acegi bdfh acegi bdfhj 奇数インデックスで文字を反転します:acegi hfdb acegi jhfdb 再び1つの文字列にインターリーブします。ahcfedgbi ajchefgdib ルール 偶数長と奇数長の両方の文字列をサポートする必要があります。 0インデックス単位では、偶数インデックスではなく奇数インデックスで文字を反転する必要があります。 1インデックス単位では、もちろん、奇数ではなく偶数インデックスで文字を反転する必要があります。 入力は印刷可能なASCII(コードポイント32-126)で構成され、改行は含まれません。 入力は、文字列または文字のリスト(1文字の文字列ではない)として取得できます。例えばString/ char[]またはchar*許可されていますが、String[]/ char[][]またはchar**ではありません。 テストケース Input Output Hello, World! HdlroW ,olle! Hello World! H!llooW rlde ABCDEFGHIJKLMNOPQRSTUVWXYZ AZCXEVGTIRKPMNOLQJSHUFWDYB !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ }"{$y&w(u*s,q.o0m2k4i6g8e:c<a>_@]B[DYFWHUJSLQNOPMRKTIVGXEZC\A^?`=b;d9f7h5j3l1n/p-r+t)v'x%z#|!~ P P AB AB xyz xyz 空の文字列の場合、空の文字列自体を返します。
20 code-golf  string 

1
λ式をSK式に変換
λ計算、又はラムダ計算は、匿名関数に基づいて、論理システムです。たとえば、これはλ式です。 λf.(λx.xx)(λx.f(xx)) ただし、この課題のために、表記を簡略化します。 に変更λします\(入力しやすくするため):\f.(\x.xx)(\x.f(xx)) .我々はそれをドロップすることができますので、ラムダヘッダーのは、不要です。\f(\xxx)(\xf(xx)) 使用Unlambdaとスタイルのプレフィックス表記を`(これを行う方法の完全な説明については、参照ではなく2つの関数を書くよりもアプリケーションのためのラムダ計算表記間の変換を):\f`\x`xx\x`f`xx これは最も複雑な代替です。各変数を、その変数が属するラムダヘッダーに対してどれだけ深くネストされているかに基づいて、括弧内の数字で置き換えます(つまり、0ベースのDe Bruijnインデックスを使用します)。たとえば、\xx(恒等関数)では、式を変数から最後までトラバースするときに遭遇する最初の(0から始まる)ヘッダーに属するためx、本文のはに置き換えられ[0]ます。\x\y``\x`xxxyに変換され\x\y``\x`[0][0][1][0]ます。ヘッダーに変数をドロップして、を残すことができます\\``\`[0][0][1][0]。 組み合わせ論理は、基本的にλ計算から作成されたチューリングターピットです(まあ、実際は最初に来ましたが、ここでは無関係です)。 「組み合わせロジックはラムダ計算の変形と見なすことができ、ラムダ式(機能の抽象化を表す)は限定されたコンビネータのセット、バインドされた変数が存在しないプリミティブ関数に置き換えられます。」1 組み合わせロジックの最も一般的なタイプはSKコンビネーター計算で、次のプリミティブを使用します。 K = λx.λy.x S = λx.λy.λz.xz(yz) コンビネータI = λx.xが追加されることもありますが、SKK(または実際SKxにはx)と同等であるため、冗長Iです。 必要なのは、λ計算の任意の式をエンコードできるようにするためのK、S、およびアプリケーションだけです。例として、関数λf.(λx.xx)(λx.f(xx))から組み合わせロジックへの変換を次に示します。 λf.(λx.xx)(λx.f(xx)) = S(K(λx.xx))(λf.λx.f(xx)) λx.f(xx) = S(Kf)(S(SKK)(SKK)) λf.λx.f(xx) = λf.S(Kf)(S(SKK)(SKK)) λf.S(Sf)(S(SKK)(SKK)) = S(λf.S(Sf))(K(S(SKK)(SKK))) λf.S(Sf) = S(KS)S λf.λx.f(xx) = S(S(KS)S)(K(S(SKK)(SKK))) λx.xx = S(SKK)(SKK) λf.(λx.xx)(λx.f(xx)) = S(K(S(SKK)(SKK)))(S(S(KS)S)(K(S(SKK)(SKK)))) プレフィックス表記を使用しているため、これは```S`K``S``SKK``SKK``S``S`KSS`K``SKK`です。 1出典:ウィキペディア チャレンジ 今までに、あなたはおそらく何であるかを推測しました:有効なλ式(上記の表記法)を入力および出力(または返す)としてSKコンビネーター計算で書き直されたプログラムを書く。これを書き換える方法は無限にあることに注意してください。無限の方法のいずれかを出力するだけです。 これはcode-golfであるため、最短の有効な送信(バイト単位で測定)が優先されます。 …

3
[Br] eaking Code Golf [Ba] d
次の文字列を検討してください。 Tin Snips この文字列には、周期表の原子記号がいくつか含まれています。これらのいくつかを識別するために、この文字列を書き換えることができます。 [Ti][N] [Sn][I][P][S] もちろん、次のように書くこともできます。 T[In] [S][Ni][P][S] 入力を書き換える規則は次のとおりです。 入力の大文字小文字は、アトミックシンボルの一致に関しては重要ではありません。 要素がアトミックシンボルで使用される場合、シンボルが正しいように大文字と小文字を変更する必要があります。例:hになり[H]ます。 すべての要素のシンボルはASCII角括弧に包まれ、されている[と]。 空白は保持さBig egoれ[Ge]ます。「g」と「e」をに結合することはできません。 すべての入力文字をアトミックシンボルに結合する必要はありません。入力文字がシンボルに入れられない場合、そのまま渡されます(大文字と小文字は区別されません)。 シンボルを作成できる場合は、作成する必要があります。つまり、Tin上記の例では、その単語に少なくとも1つのシンボルを作成できるため、出力することはできません。未使用の文字を通過できるのは、アトミックシンボルの構築に使用できない場合だけです。 この課題のために、水素(1)からオガネソン(118)までのすべての要素が有効です。有効な上位要素はありません。 上位の要素のいくつかは、あいまいな名前と記号を持っています。この課題のために、Wikipediaのバージョンが使用されます。便宜上、許容される原子記号は次のとおりです。H、He、Li、Be、B、C、N、O、F、Ne、Na、Mg、Al、Si、P、S、Cl、Ar、K、Ca、 Sc、Ti、V、Cr、Mn、Fe、Co、Ni、Cu、Zn、Ga、Ge、As、Se、Br、Kr、Rb、Sr、Y、Zr、Nb、Mo、Tc、Ru、Rh、 Pd、Ag、Cd、In、Sn、Sb、Te、I、Xe、Cs、Ba、La、Ce、Pr、Nd、Pm、Sm、Eu、Gd、Tb、Dy、Ho、Er、Tm、Yb、 Lu、Hf、Ta、W、Re、Os、Ir、Pt、Au、Hg、Tl、Pb、Bi、Po、At、Rn、Fr、Ra、Ac、Th、Pa、U、Np、Pu、Am、 Cm、Bk、Cf、Es、Fm、Md、No、Lr、Rf、Db、Sg、Bh、Hs、Mt、Ds、Rg、Cn、Nh、Fl、Mc、Lv、Ts、Og。 提供された単一の入力からすべての可能な出力を生成するプログラムまたは関数を作成します。入力と出力の両方は、任意の形式にすることができます。これは、文字列、文字の配列、またはその他のデータ構造である可能性があります。便利で入力と出力を明確に表すものであれば何でもかまいません。入力と出力の両方をコードの入出力に渡すことができますが、標準の入出力、関数の引数/戻り値、またはその他の選択を選択できます。 入力は、任意の大文字小文字のASCII文字とスペース(0x20)文字のみを含む正の長さの文字列(前の段落を参照)でなければなりません。 コードは、上記の入力ルールを使用して作成できるすべての出力文字列を生成する必要があります。 出力の順序は実装定義です。唯一の要件は、すべての出力文字列が存在することです。 アトミックシンボルを含まない有効な入力文字列が提示された場合、単に入力文字列を出力します。 上記のルールに従って無効な入力文字列(null、ゼロ文字、不正な文字が含まれているなど)が提示された場合、プログラムは何でもできます(クラッシュ、空白出力など)。 周期表と一致する必要があるアトミックシンボル以外の出力では、大文字と小文字は区別されません。 標準の抜け穴は許可されていません。 テストケース: Tin Snips [Ti][N] [Sn][I][P][S] [Ti][N] [S][Ni][P][S] [Ti][N] [S][N][I][P][S] T[In] [Sn][I][P][S] T[In] [S][Ni][P][S] T[In] [S][N][I][P][S] T[I][N] ... Quack Q[U][Ac][K] …

19
Steamユーザーの評判はどのくらいですか?[閉まっている]
閉じた。この質問には詳細または明確さが必要です。現在、回答を受け付けていません。 この質問を改善したいですか?詳細を追加し、この投稿を編集して問題を明確にします。 2年前に閉店。 前書き 蒸気に精通していない人-または少なくともこの特定の側面: 多くの場合、人々のプロフィールには、「+ rep _____」または「-rep _____」のいずれかのコメントが残されています。これらは、いくつかの理由で、コミュニティの誰かが良い評判か悪い評判かを示す非公式の手段です。このようなコメントは次のようになります。 +良い選手を代表する +担当者役立つ -repハッカー -rep詐欺師 仕事 プログラムは、合意に基づいた方法で入力を取得する必要があります。入力は、オプションの改行(\n)を含む文字列で構成されます。各行の先頭、'+rep 'または'-rep '存在する可能性があります。残りの行は破棄できます。行が'+rep 'またはで始まらない場合'-rep '(末尾のスペースに注意してください)、行は無視されます。 その後、プログラムは合計評価スコアを保持する必要があります。で始まり0、このスコアはで始まるすべての行で増加し、で始まるすべての行で'+rep '減少し'-rep 'ます。 この結果は、合意された方法で出力する必要があります。 テストケース Input: +rep fast trade +rep nice person -rep too good Output: 1 Input: -rep hacker -rep scammer -rep was mean Output: -3 Input: first i don't …

13
ジッパー掛け算
前書き 新しい算術演算を定義しましょう。これをジッパー乗算と呼びます。。2つの非負整数をジッパー乗算するには、長さを一致させるために先行ゼロを追加し、対応する10桁の数字を乗算し、結果に先行ゼロを追加して2桁の数字を取得し、それらを連結し、最後に先行ゼロをドロップします。 A = 1276およびB = 933024の例を次に示します。 1. Add leading zeros A = 001276 B = 933024 2. Multiply digit-wise A = 0 0 1 2 7 6 B = 9 9 3 0 2 4 -> 0 0 3 0 14 24 3. Pad to 2 digits -> 00 …

25
スペースで区切られた番号
N負でない整数のリストが与えられたら、それらの数値を、それぞれの長さまでスペースで左詰めして出力しますN。(または、文字/文字列リストを返します。)Nリスト内の最大数の桁数以上であると想定できます。出力では末尾のスペースを使用できます。 これらの数字を含む文字列を使用することもできますが、 Nの長さではなく、リスト内の要素の数です。また、文字列のリストを取得することもできます["1", "2", "3"]。 これはコードゴルフであるため、バイト単位の最短プログラムが優先されます。 テストケース input => 'output' 0 => '0' 1 => '1' 2 3 => ' 2 3' 2 10 => ' 210' 4 5 6 => ' 4 5 6' 17 19 20 => ' 17 19 20' 7 8 9 10 => ' 7 …
20 code-golf  string 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.