タグ付けされた質問 「code-golf」

コードゴルフは、ソースコードの最小バイトで特定の問題を解決するための競争です。

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の量から生成されました)

7
巡回番号ですか?
循環数とは、1、2、3、... nを掛けると同じ数字になるが順序が異なる「n」桁の数字です。 たとえば、142,857 x 2 = 285,714、142,857 x 3 = 428,571、142,857 x 4 = 571,428などのように、142,857という数値は循環的な数値です。整数の入力が与えられた場合、真理値を出力し、そうでない場合は偽値を出力することにより、それが循環数であるかどうかを判断します。 また、明確にするために、入力には先行0を含めることができます。例:0344827586206896551724137931 これは、先行ゼロが数字で許可されていない場合、142857が10進数の唯一の循環数であるためです。 コードゴルフなので、バイト単位の最短回答が勝ちです!

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

13
線画文字を使用して数独ボードを描画する
これはコードゴルフです。この課題では、メソッドを受け入れます(完全なプログラムは必要ありません)が、メソッドシグネチャはバイトカウントにカウントされるため、完全なシグネチャ(lamdbaではなく)を表示したいです。メソッドの入力は、81個の要素を持つ整数配列です。メソッドからの出力/戻り値は、ASCII数独ボードとして配列を表す文字列です。 難解な言語またはメソッドをまったく持たないものを使用している場合は、適応できますが、言語がこれをサポートしている場合は、たとえメソッド本体自体は作業が苦痛です。要件は、Jellyや05AB1Eなどの言語をブロックすることではなく、Javaのような言語がそのプラットフォームにとって意味のあるものを簡単に作成できるようにすることです。 入力の場合、整数値1〜9には明確な意味があります。0は常に空白セルとして解釈される必要があります。また、1〜9の範囲外のものを空白セルとして解釈することもできますが、これは必須ではありません。配列からパズルへの配置は左上から始まり、各行を左から右に埋めてから次の行に移動します。 ボックスの場合、外側と各3x3領域の間に二重線が、他のセル間に単一線が必要です。これらは線画文字で描画する必要があります(I / O形式が文字列ではなく文字列をバイト列として表す場合、UTF-8やコードページ347などのよく知られたエンコーディングで表現する必要があります)。 この挑戦のために、私はあなたに数独パズルを生成することを求めていません。それが関数の入力です。パズルを解くことをお願いしているのではありません。与えられたものを(できる限り少ないバイト数で)「描画」する文字列を生成するようにお願いしています。 入力例: 配列の値: { 8, 5, 0, 0, 0, 2, 4, 0, 0, 7, 2, 0, 0, 0, 0, 0, 0, 9, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 7, 0, 0, 2, 3, 0, 5, 0, …

6
ムーンフェイズを描く
チャレンジ 月の満ち欠けを考えて、ASCIIアートを使用して描きます。 プログラムは、新月、三日月、ワックス、ギブス、満月、ギブスの減少、最後の四分の一、三日月の減少を処理する必要があります。入力は整数になります。 0 -> new moon 1 -> waxing crescent 2 -> first quarter 3 -> waxing gibbous 4 -> full moon 5 -> waning gibbous 6 -> last quarter 7 -> waning crescent ASCIIアートはすべて、16x8グリッドに配置されます(文字の寸法比のため)。.任意の文字および#他の非空白文字に置き換えることができます。 新月の出力は次のようになります。 ................ ................ ................ ................ ................ ................ ................ ................ 三日月ワックス用: ..........###### ............#### .............### .............### …

18
無関係な番号を見つける
入力として2つの非負整数が与えられた場合、2つの入力で数学演算子を使用して作成できない非負整数を出力します。 たとえば、与えられた入力2とは3、6, 0, 5, 1, 9, 8, 23, 2すべて無効な出力です。 考慮する必要がある操作は次のとおりです。 Addition (a + b) Subtraction (a - b) and (b - a) Multiplication (a * b) Division (a / b) and (b / a) Modulus (a % b) and (b % a) Exponentiation (a ** b) and (b ** a) …

16
XOR暗号化の解読
あなたの仕事は、暗号化された文字列を入力として受け取り、解読された文字列を出力して、隠されたメッセージを明らかにすることです。 入力と出力の両方の文字列には、この64個のASCII文字のリストの文字が含まれます(先頭のスペースに注意してください)。 !"#$%&'()*+,-./0123456789:;=?@[\]^_abcdefghijklmnopqrstuvwxyz|~ これらの文字には、上記の順序で番号が割り当てられます。 ! " # $ % & ... 0 1 2 3 4 5 6 ... したがって、スペースは番号0、!番号1、~番号63です。これらの番号は、6ビットのバイナリコードで表すことができます。 : 0: 000000 !: 1: 000001 ": 2: 000010 #: 3: 000011 .. ... ...... z: 61: 111101 |: 62: 111110 ~: 63: 111111 暗号化は非常に簡単です。 私が使用しますeC暗号化された文字のため、そしてC元の文字列の文字に。C(n)は、元の文字列eC(n)のn番目の文字であり、暗号化された文字列のn番目の文字です。 文字の6ビットバイナリ表現を使用します。最初の文字はになりますeC(0) = not(C(0))。そこから、すべてのキャラクターはになりますeC(n) = …

7
六角形の三角形!
あなたの仕事:辺の長さの六角形の三角形を作成します。nここnで、正の整数または0です。 最初に、六角形を定義させてください: / \ | | \ / (素晴らしいASCIIアートですよね?) 六角形は、側面を共有することで互いにリンクできます。 / \ / \ | | | \ / \ / / \ | | / \ / | | \ / 六角形の三角形は次のとおりです。 / \ | | / \ / \ | | | \ / \ / その六角形の三角形の辺の長さは2であり、1つの辺を作るには2つの六角形が必要です。辺の長さが1の六角形の三角形は単一の六角形であり、辺の長さが0の六角形は空です。 より正式には、六角形の三角形は、六角形が側面でリンクされた三角形です。上部の六角形は、下部の2つの側面でその下の2つにリンクしています。左下の三角形はその右および右上の三角形にリンクし、右下の三角形はその左および左上の三角形にリンクします。角の間に六角形があり、反対側で接続されており、その数はn-2です。三角形は塗りつぶされていません。 …

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 

11
フィボナッチ数列の線形補間
あなたの仕事はn 番目のフィボナッチ数を見つけることですが、nは必ずしも整数ではありません。 0から始まるフィボナッチ数列は次のとおりです。 0, 1, 2, 3, 4, 5, 6, 7, ... 1, 1, 2, 3, 5, 8, 13, 21, ... しかし、2 .4 番目の数字が必要な場合はどうなりますか? 2.4 番目の数は3との間の0.4倍の差であるRD及び2 番目のフィボナッチ数プラス2 番目のフィボナッチ数。したがって、2.4 番目のフィボナッチ数は2 + 0.4 * (3 – 2) = 2.4です。 同様に、6.35 番目のフィボナッチ数は13 + 0.35 * (21 – 13) = 15.8です。 あなたの仕事は見つけることであるNを番目ように、フィボナッチ数nが 0以上です。 インデックスをゼロまたは1にすることもできますが、どちらを使用しているかを言ってください。 …

1
良い振動
テルミンの音は、ザ・ビーチ・ボーイズの歌「グッド・バイブレーションズ」で不滅です。ソプラノのエミュレーションであるように見えますが、多くの人はその音をスタートレックのオリジナルシリーズのテーマとも関連付けています。 この課題では、テルミンを実装する必要があります。 入力 マウスまたは他の入力デバイス(たとえば、ジョイスティックを使用できます)から2次元入力を取得します。これにより、オーディオ出力デバイスから次のようなトーンが生成されます。 xを大きくすると、トーンの周波数が高くなります。周波数は音符で指数関数的に増加するため、マウスのx位置と音符の間に線形関係を実装する必要があります。 yを大きくすると、トーンの音量が大きくなります。 実際のテルミンによって生成される波形に関して混乱があるように見えるので、簡単にするために、正弦波(またはその近似値)を使用する必要があります。 ルール 生成されるトーンには、少なくとも2オクターブの範囲が必要です。より多くの範囲が許容されます。A-440は範囲内になければなりません。 連続的に変化する周波数と振幅の可聴外観を作成するには、入力デバイスの両方の次元で考慮される値の範囲は少なくとも500でなければなりません。または、ウィンドウを開かずに、マウスまたは他の入力デバイスから座標を直接読み取ることができます。 プログラムを停止するには、キーの組み合わせ、マウスクリック、またはその他の一般的な入力デバイスなどの簡単な手段が必要です。CTRL-cで十分です。 他の作業を必要とせずにソリューションを完全に実装しない限り、任意の標準ライブラリを使用できます。 コードゴルフとI / Oの標準ルール マウスまたは入力デバイスが入力ボックスにフォーカスを失うことで停止する場合があります。 ノート 出力トーンは動的に生成されるため、トーンが連続波形であることを確認するように注意する必要があります。つまり、位相または振幅の突然の変化によって引き起こされる可聴クリックやポップ音はありません。 入力サイズゾーンを500 x 500に制限することもできますが、それより大きくすることもできます。 これはcode-golfなので、どの言語でも最短の答えが勝ちです。 特別な感謝 この挑戦をし、秘密のサンタのサンドボックスに投稿してくれたデジタルトラウマに感謝します。私はいくつかの編集を行いましたが、ここに元の投稿があります。
20 code-golf  music 

10
Four Validatorの接続
前書き Connect Fourは、水平方向、垂直方向、斜め方向の4つを連続して取得しようとするゲームです。このコードゴルフでは、ゲームボードを与えられて、誰が勝ったかを見つけようとします。勝者は常に1人で、勝者は1人だけです。 仕事 Connect Fourボードが与えられたら、勝者が誰であるかを調べます:XまたはY。勝者は常に1人で、勝者は1人だけです。ボードのサイズは、ゲームボードの様子と同じように常に6 x 7です。 ボードの場合、次のボードはこの例でXは赤でY青です。 入力は次のようになります。 OOOOOOO OOOOOOO OOOOOOO OOOOXOO OOOXXOO OOXYYYY ゲームの行を改行文字(上記のように)で区切ることができます。分割文字は使用できません。行を配列またはリストに分割するか、文字のマトリックスを入力できます。 この例の正しい出力: Y Yには4つが連続しています。したがって、Yが勝者です。したがって、Yを出力します。 テストケース 入力: OOOOOOO OOOOOOO OOOOOOO OOOOOOO OOYYOOO OYXXXXO 出力: X 入力: OOOOOOO OOOOOOO OOOOOOO XXXXOOO YXYYOOO YXYYXYX 出力: X 入力: YXYYXOO XYXXYOO XXXYYOO YYYXXOO XXYYYYO XXYYXXO 出力: Y 入力: OOOOOOO …

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 

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