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

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

1
テキストリックロールを注入する
リックロールは地球上で最大のミームであるため、あなたは[ルールを知っており、私もそうしている]疑うことを知らない読者をテキストでリックロールできる最短のコードを書くことです。してみましょう[あなたをダウン]の文字、句読点、およびスペースを含む入力テキストがあります。いつでも[嘘とあなたを傷つける]最初の二つのスタンザからフレーズがテキストで表示されます... We're no strangers to love You know the rules and so do I A full commitment's what I'm thinking of You wouldn't get this from any other guy I just wanna tell you how I'm feeling Gotta make you understand Never gonna give you up Never gonna let you …
12 code-golf  string 

5
URL短縮サービスを実装する
URLが長すぎます。そのため、URLを短縮するアルゴリズムを実装する必要があります。 私。URLの構造 URLには、ドメインとパスの 2つの主要部分があります。ドメインは、URLの最初のスラッシュの前の部分です。URLにプロトコルが含まれていないと想定できます。パスは他のすべてです。 ii。ドメイン URLのドメインは次のようになりますxkcd.com meta.codegolf.stackexcchhannnge.cooom。各パートは、ピリオドで区切られています。たとえば、blag.xkcd.comでは、パートは「blag」、「xkcd」、および「com」です。これはあなたがそれで何をするかです: 3つ以上の部分が含まれている場合は、最後の2つを脇に置き、残りの部分の最初の文字を連結します。 次に、それを最初の文字と最後から2番目の部分に連結します。 ピリオドと、最後から2番目の部分の2番目と3番目の文字を追加します。 最後の部分を破棄します。 iii。パス パスは次のようになります/questions/2140/ /1407/。前と同様に、「パーツ」はスラッシュで区切られています。パス内の各部分について、次を実行します。 スラッシュを追加 完全に10進数で構成されている場合は、数値として解釈し、36進数の整数に変換します。 それ以外の場合は、パーツの最初の文字を追加します。 最後に、スラッシュを追加します。 iv。その他 これはcode-golfなので、最短のコードが優先されます。 パスは空でもかまいませんが、URLは常にスラッシュで終わります。 プロトコルが存在することはありません(例えばhttp://、file:///) ドメイン内の部分が2つ未満になることはありません。 標準の抜け穴が適用されます。 例 In:xkcd.com/72/ Out:x.kc/20/ In:math.stackexchange.com/a/2231/ Out:ms.ta/a/1pz/ In:hello.org/somecoolcodeintrepreteriijjkk?code=3g3fzsdg32,g2/ Out:h.el/s/

4
スムーズ対チャンキー対ブロークンスクイーグル
Chunky vs. Smooth Stringsに基づいています。 /\_/\/\__/\/\/\/\_/\_/\あなたが本当に退屈しているとき、波線はキーボードで作るのが楽しいです。しかし、すべての波線が平等に作成されるわけではありません。いくつかの波線はのよう\___/に滑らかで、いくつかはのようにずんぐりしてい/\/\/\/\ます。他のものはまったく壊れています////_\\\ Nキャラクターのあらゆる波線の中に、波線N-1ジャンクションがあります。各波型ジャンクションは、次の3つのタイプのいずれかに分類されます。 スムーズ(角度>「90度」): \_ __ _/ 分厚い(角度=「90度」) /\ \/ 壊れた(接続しないもの) // \\ /_ _\ レッツは、定義滑らかにし、滑らかで接合の割合であることをchunkinessと壊れた同様に定義します。各値の範囲は0〜1です。波線の滑らかさ、チャンクネス、および破損の合計は、常に1に等しくなります。 たとえば、波線に/\/\\_//\_は3つの滑らかなジャンクション、4つの分厚いジャンクション、2つの壊れたジャンクションがあります。このように0.3333滑らかで、0.4444分厚い、0.2222壊れています。 空の文字列と1文字のみの文字列には未定義の値があり、すべての入力は少なくとも2文字の長さになります。 チャレンジ 任意の長さの波線を取り込んで、その滑らかさ、チャンクネス、および破損の値のいずれか2つを出力するプログラムを作成します。 STDIN、コマンドライン、または文字列引数を介した入力を使用して、プログラムまたは関数を作成できます。 入力は少なくとも長さ2以上で/\_、オプションの末尾改行を含む文字のみで構成されていると想定できます。 2つの浮動小数点数を、小数点以下4桁以上で丸めまたは切り捨てて印刷(または関数の場合は戻り)します。真の値である場合は2/3、許容値は、いずれかの間の値が含ま0.6666と0.6667、のようにも物事を0.666637104。正確な値がの場合、1/3含む回答0.3333はすべて有効です。後続のゼロは省略できますが、値が1より小さい場合は、先行のゼロを省略できます。 必要に応じて、3つの値の任意のペアを出力します。必ず、2つと順序を指定してください。 バイト単位の最短コードが優先されます。 例 /\/\\/\//\\→滑らかさ0、分厚さ0.7、破損0.3 _/\\_/\\/__/\\\//_→滑らかさ0.29411764705、分厚さ0.29411764705、破損0.41176470588 //\\__/_\/→滑らかさ0.3333333、分厚さ0.2222222、破損0.4444444 おまけの質問:なめらか、チャンキー、壊れた波線のどちらが好きですか?

3
文を作り直す
この課題は2つの部分で構成されています。勝者は、総バイト数が最も少ないソリューションになります。両方の課題に同じ言語を使用する必要があります。 パート1: 入力として有効な単語のみを含む文を受け取り、使用する文字のリスト、各文字の使用回数、元の文の各単語の文字数を出力する関数またはプログラムを作成します。このプログラムからの出力は、次のプログラムへの有効な入力でなければなりません(出力されたとおり) 例と詳細なルールをさらに下に追加します。 パート2: 最初のプログラムからの出力を入力として使用し、この英単語のリストを使用して、出力からの情報を使用して文を再作成する関数またはプログラムを作成します。文は元の文と同じである必要はありません。 詳しくは。ルールと制限: パート1: 最初の入力は、引用符の有無にかかわらず、関数の引数として、または角括弧の有無にかかわらず、STDINからの任意の適切な形式にすることができます。 入力文には、最後のピリオド/ドットを除き、句読点や特殊文字は含まれません。ピリオド記号を除き、入力に含まれるすべての文字は単語リストに含まれます。 文の最初の文字は大文字になり、残りは小文字になります。 パート2の出力は、元の文と同じ大文字で開始する必要があります(したがって、入力を小文字に変換することはお勧めしません(ただし、OK)。 出力は任意の適切な形式にすることができます。 出力を次のプログラム/機能に直接コピーアンドペーストできる必要があります コピーアンドペーストの際に変更を加えることはできません。出力全体を部分的にではなく、全体としてコピーして貼り付ける必要があります。 たとえば、アルファベットのすべての文字、または使用されているもののみのヒストグラムを出力できます(一般的に、パート2を完了するために必要なものは何でも) 複数のオカレンスが繰り返される文字のリストを出力することはできません。例えば、The queue出力が得られないことができますTeeehquu (3,5)、それは次のようになりますTehqu, (1 3 1 1 2),(3 5)。 パート2: プログラム/関数は、パート1からの入力をそのまま受け入れる必要があります(1つの例外、入力としてファイル名を使用することに関する以下のコメントを参照してください)。 入力を解析するために括弧、引用符などが必要な場合、これらはパート1の出力の一部である必要があります。 単語リストはここにあります。 単語リストは、ローカルに保存するかw.txt、URLから取得できます。urlは5バイトとしてカウントされるため、url-shortenerは必要ありません。 プログラムはSTDIN(私はこれが信じているから、入力として名を読まずに、ファイルを開くことができない場合である少なくともPythのためのケースだった)、その後、ファイル名は別々の入力引数として撮影することができます。 出力は、ピリオドとオプションの改行で終わる文(有効な単語のリスト)のみである必要があります。 出力には、パート1の元の文と同じ文字数の単語が含まれている必要があります(正しい順序で) 元の文で使用されたすべての文字は、新しい出力で使用する必要があります。 文は、元の入力文と同じ大文字で始まり、ピリオドで終わる必要があります。 両方の部分: どちらの部分も実行に2分以上かかることはありません(ソリューションに到達するまでランダムに単語を選択することは受け入れられません)。 上記の規則を使用すると、まったく同じ文が再現される可能性がかなり高くなりますが、これは必須ではありません。 例: 以下の例では、いくつかの異なる入力および出力形式が示されています。さらに多くが受け入れられます。 パート1: 入力: Zulus win. 出力タイプ1: Z i l n s …

3
人参。そう。たくさんの。人参
くそー、それはたくさんのニンジンです。 インスピレーション タスク あなたは、できるだけ多くの言語のようにして、のすべてのインスタンスを置き換える、という、プログラムを作成しなければならない^とマークダウンフォーマットされたリンク私は答えにそれを投稿した場合、それは自動的にイメージとしてそれを読んで、代わりに画像を配置することを意味し(言葉の)この上向きのニンジンの。 前述のフォーマットの使用方法: まず、ファイル内の任意の場所に、次のようなリンクを配置します(この質問に対してこれを行いました)。 [1]:http://i.stack.imgur.com/mecHl.png そして、あなたがそれを望むところはどこでも: [![] [1]] [1] ルール 標準の抜け穴が適用されます。 入力は、STDINまたは同等のものを介して行われます。 出力は、STDOUTまたは同等のものを介して行われます。 コードは、使用するすべての言語で完全に動作するプログラムでなければなりません。 ニンジンに使用するURLは、この回答のURLである必要はありません。これはほんの一例です。SEのMarkdownにこの特定のニンジンが表示されていれば、任意の URLを使用できます。 これは多言語の課題であるため、ニンジン言語が最も多い答えが勝ちです! 同点の場合、最大数の言語を持つエントリの最短コードサイズが優先されます。 編集: また、言語の些細な派生物を使用しないでください!これは、代替言語(Brainfuck対ShadyAsFuck)および異なる言語バージョン(Python 2対Python 3)を使用することを意味します。 簡単なエソランがたくさんあります...(9001 BFバリアントを含む) あの男にならないでください。 注:はい、このプログラムは正規表現をサポートしている言語では少し簡単です。ただし、競合他社が使用できる言語の数を確認することです。

1
回転スパイラル
文字のらせんを表すテキストの正方形が与えられたら、それを回転させてください! スパイラルは中央から始まり、反時計回りに外側の端に移動し、中央の左から始まります。 987 216 345 これは文字列に変換されます123456789。回転は左に行われるため、1つの位置に回転すると、になります234567891。これは次のように表されます。 198 327 456 入力 入力は、スパイラルとそれを回転させる距離で構成されます。 距離は常に正の整数またはゼロであり、言語のデータ型の制限で制限できます。 スパイラルは、選択した行区切り文字(区切り文字なしを含む)を持つ文字列として解釈する必要があります。これは常に区切り文字を含まない正方形で、辺の長さが奇数です。 すべての文字が英数字[A-Za-z0-9]であると仮定します。 出力 出力は回転したスパイラルです。これは、複数行の正方形(印刷または返品)である必要があります。 例 入力 3 tne atd bin 出力 bat nit den 入力 18 efilr naepo umshf tootr butte 出力 rettu omseb oofft trliu hpean これはコードゴルフで、スコアは通常どおりバイト単位でカウントされます。
12 code-golf  string 

30
文字列から繰り返し単語を削除する
入力された文から繰り返し単語をすべて削除します。 入力は次のようにcat dog cat dog bird dog Snake snake Snakeなり、出力はになりますcat dog bird Snake snake。単語を区切るスペースは常に1つです。 出力順序は入力と同じでなければなりません。(例を参照) 句読点を処理する必要はありませんが、大文字の処理が必要です。
12 code-golf  string 

1
有効な迷路の数
与えられたWxHグリッドを、どのように多くの可能な迷路がありますか? 迷路について知っていること: グリッドのH高さは正確に正方形で、W幅は正方形です。 開始、終了、空の3つのタイプの正方形があります。迷路には、開始と終了がそれぞれ1つだけ含まれている必要があり、残りのすべての正方形は空です。 迷路全体を囲む壁があります。 以下の規則に違反しない限り、壁は任意の2つの正方形の間のエッジに存在できます。 開始広場から終了広場までのパスが存在する必要があります。 したがって、との2つの数値を指定するWとH、可能な正方形/壁構成の数を表す単一の数値を返す必要があります。あなたは保証されていますW*H > 1 たとえば、2x2迷路の100構成はまったく異なります。 これはコードゴルフなので、最短の答えが勝ちです!

30
その言葉にサインしてください!
ワードシグネチャとは何ですか? 単語の署名は、それのすべての文字を順番に入れている-署名のthis、histそしてhitsすべてですhist。 チャレンジ プログラムを書くプログラムは入力を要求し、その単語の署名を印刷する必要があります。したがって、プログラムの実行例は次のようになります。 Give me a string: this The signature signature of 'this' is hist. 入力を受け取って署名を印刷する限り、必要な相互作用はありません。 得点 最小バイト数のプログラムが勝ちます! リーダーボード これは、通常のリーダーボードと言語ごとの勝者の概要の両方を生成するスタックスニペットです。 回答が表示されるようにするには、次のマークダウンテンプレートを使用して、見出しから回答を開始してください。 # Language Name, N bytes N提出のサイズはどこですか。スコアを改善する場合、古いスコアを打つことで見出しに残すことができます。例えば: # Ruby, <s>104</s> <s>101</s> 96 bytes コードスニペットを表示 var QUESTION_ID=54945;function answersUrl(e){return"http://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),e.has_more?getAnswers():process()}})}function shouldHaveHeading(e){var a=!1,r=e.body_markdown.split("\n");try{a|=/^#/.test(e.body_markdown),a|=["-","="].indexOf(r[1][0])>-1,a&=LANGUAGE_REG.test(e.body_markdown)}catch(n){}return a}function shouldHaveScore(e){var a=!1;try{a|=SIZE_REG.test(e.body_markdown.split("\n")[0])}catch(r){}return a}function getAuthorName(e){return e.owner.display_name}function process(){answers=answers.filter(shouldHaveScore).filter(shouldHaveHeading),answers.sort(function(e,a){var r=+(e.body_markdown.split("\n")[0].match(SIZE_REG)||[1/0])[0],n=+(a.body_markdown.split("\n")[0].match(SIZE_REG)||[1/0])[0];return r-n});var …

16
文字列内の文字をシフトする
このチャレンジでは、入力した文字列の文字をn回シフトし、シフトした文字列を出力する必要があります 入力 入力には最初に文字列が含まれます。次の行には、n存在することを示す整数があります。 出力 nが正の場合、文字列内の文字を正しいn時間にシフトします。 nが負の場合、文字列内の文字を左にシフトしnます。 nがゼロの場合、文字列内の文字をシフトしません。 シフト後(nゼロの場合を除く)、シフトされた文字列を出力します。 ノート 文字列は空またはにはなりませんnull。 文字列は100文字以下で、範囲(スペース)から~(チルダ)(文字コード0x20から0x7Eを含む)のASCII文字のみが含まれます。見るリファレンス ASCIIテーブルを参照してください。 シフトは周期的です。 人数、個数、総数 nは、正、負、またはゼロです。 n 常に-1000以上で、1000以下です あなたは経由で入力を取ることができます stdinコマンドライン引数をまたはコマンドライン引数からます シフトされた文字列は、 stdout(またはそれに最も近いもの) 完全なプログラム、または入力を受け取って文字列を出力する関数、stdoutまたはそれに最も近いものを書くことができます テストケース 1) Hello world! 5 -->orld!Hello w 2) Testing... -3 -->ting...Tes 3) ~~~ 1000 -->~~~ 4) 12345 0 -->12345 5) ABA 17 -->BAA 得点 これはcode-golfであるため、最短の送信(バイト単位)が優先されます。
12 code-golf  string 

3
その言葉は女性的ですか、男性的ですか?
小文字のa〜zのみを含む単一の文字列を取り込んだプログラムまたは関数を作成し、単語が表すものの女性バージョンの場合は真理値、男性バージョンの場合は偽値を出力または返します。例えば、hen鶏のためのフェミニンなバージョンで、rooster男性的なバージョンなので、hen生じる可能性があります1し、rooster生じる可能性があります0。 性別を反映するすべての英語の単語に対してこれを行うことは、もちろんあまりにも扱いにくいでしょう。あなたのプログラム/機能は、20の男性/女性ペアのみをサポートする必要があります。以下は、トピックごとに分類された10組の男性/女性ペアの5セットです。セットのいずれか2つを選択します。これら2つのセットの合計20個のペアは、プログラム/関数が機能する必要がある40ワードです。 (形式はmasculine_version feminine_version) 全般 he she him her man woman boy girl male female masculine feminine guy gal lad lass mister miss sir madam 家族性 father mother dad mom pa ma son daughter brother sister husband wife grandfather grandmother grandpa grandma uncle aunt nephew niece 動物 lion lioness rooster …

29
文字列から余分なスペースを取り除く
文字列が与えられます。単語ごとに1つのスペースを含む文字列を出力します。 チャレンジ 入力は、を介して送信されたnullquotes(")で囲まれた文字列(not またはempty)になりstdinます。先頭と末尾のスペースを削除します。また、2つの単語(または記号など)の間に複数のスペースがある場合は、1つのスペースにトリミングします。変更された文字列を引用符付きで出力します。 ルール 文字列は100文字を超えず、範囲(スペース)から~(チルダ)(文字コード0x20から0x7Eを含む)のASCII文字のみを含みます"。つまり、文字列には引用符が含まれません(")およびその他の文字上記で指定された範囲。リファレンスについては、ASCIIテーブルを参照してください。 から入力を取得する必要があります stdin(または最も近い代替)。 出力には引用符が含まれている必要があります(")。 完全なプログラム、または入力を受け取る関数( stdin)を受け取り、最終的な文字列を出力ます テストケース "this is a string " --> "this is a string" " blah blah blah " --> "blah blah blah" "abcdefg" --> "abcdefg" " " --> "" "12 34 ~5 6 (7, 8) - 9 - " --> "12 …
12 code-golf  string 

10
コンマで区切られた範囲のソートされたリストへの英数字の文字列
ソートされていない英数字の文字列が与えられた場合、例えば ABC321STPpJqZZr0 出力A「」文字範囲ので区切らリストは、(ケースを無視して重複を削除、ASCII値でソートすなわち大文字と数字のみ出力)は、たとえば、 0-3, A-C, J, P-T, Z ルール プログラムの長さは、通常どおり基本スコアです。 上記の例をプログラム内で初期化(ハードコード)する必要がありますが、プログラムの長さからその例の長さを割り引くことができます。たとえば、char* s="ABC321STPpJqZZr0";16文字を割り引くことができます。 ボーナス(+50バウンティ) これは今日の同僚が実際に直面した問題であり、Tcl 8.0.5(古いバージョンであり、最新のTclビルトインの多くを欠いている)で書く必要があるため、最短のTcl 8.0を書いた人に50ポイントを授与します.5ソリューション、Tcl 8.0.5に少なくとも2つの有効な提出がある場合。
12 code-golf  string 

30
縦書きの単語を含む文字列を印刷する
タスクは、ASCII文字の入力文字列を取得し、文字列をスペースで区切られた一連の垂直ワードとして出力することです。以下に例を示します。 与えられた文字列: Hello, World! My name is Foo. 出力は次のようになります。 H W M n i F e o y a s o l r m o l l e . o d , ! プログラムが端末をラップアラウンドする必要がある文字列を正しく処理する場合、10文字のボーナスポイントが付与されます。これは80文字に設定されます。 あなたのプログラムが逆もできるなら50ポイント!

1
整数操作によりIEEE 754 64ビットのバイナリ浮動小数点数を実装します
(とりあえず質問「C」にタグを付けましたが、共用体をサポートする別の言語を知っている場合は、それも使用できます。) あなたの仕事は+ - * /、次の構造体の4つの標準的な数学演算子を作成することです。 union intfloat{ double f; uint8_t h[8]; uint16_t i[4]; uint32_t j[2]; uint64_t k; intfloat(double g){f = g;} intfloat(){k = 0;} } 演算自体は整数部分のみを操作またはアクセスするため(演算中にdoubleと比較することはありません)、結果はまったく同じです(またはのような非数値の結果の場合は機能的に同等ですNaN)対応する数学演算がdouble代わりに直接適用されたかのように。 操作する整数部分を選択できます。おそらく、異なる演算子間で異なる部分を使用することもできます。(ユニオンのフィールドのいずれかから「unsigned」を削除することもできますが、それを実行するかどうかはわかりません。) スコアは、4つの演算子のそれぞれの文字のコードの長さの合計です。最低スコアが勝ちます。 IEEE 754規格に慣れていない私たちの人のために、ここではウィキペディアにそれについての記事です。 編集: 03-06 08:47 intfloat構造体にコンストラクタを追加しました。double /などを手動で設定するのではなく、テストに使用できます。

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