タグ付けされた質問 「ascii-art」

この課題には、テキスト文字をペイントとして使用して画像を作成または解析することが含まれます。通常、これは1963年からのASCII標準で定義された(合計128から)95の印刷可能な文字のみを使用します。

6
ASCII都市の再構築
+-+ +-+ | | +-+ +-+ | | | | | | | | +-+ +-+ +-+ +-+ ASCIIvilleの人々は都市を再建し、新しい青写真をスケッチしています。あなたの仕事は、彼らが望む建物の数に基づいて、新しい都市を描くことです。 入力は、建物の数です。各建物は、入力の高さの半分(奇数の場合は切り上げ)であり、建物の上部と下部は含まれません。 の基本的な例を描きましょう 4 +-+ +-+ +-+ +-+ | | | | | | | | | | | | | | | | +-+ +-+ +-+ +-+ ここでわかるように|、入力が4だったため、すべての建物に2つのがあります。しかし、キャッチがあります!(つまり、上記の例は正しくなく、この投稿の上部の例は4の実際の出力です) 素数ではない各建物について、その高さは1つ下がります。数はで割り切れる場合は3、5、または10、それはより1ダウンします。それらの数値の2つ以上で割り切れる場合、差し引かれる金額は合計されます(10は10と5で割り切れ、素数ではないため、3が差し引かれます)。 の入力の例を見てみましょう5。 +-+ …

4
MIDIトラックを表示する
バックグラウンド MIDIファイルは、WAVまたはMP3オーディオファイルとはまったく異なります。MP3およびWAVファイルには、オーディオの「録音」を表すバイトが含まれています。一方、MIDIファイルには、MIDIイベントに格納された一連のMIDIメッセージがあります。これらのメッセージはトラックに保存され、トラックのコレクションがMIDIシーケンスを構成します。MIDIシーケンスのイベントはシーケンサーによって分析され、そのメッセージをシーケンサーからシンセサイザーの受信機に送信できます。 ほとんどの場合、MIDIイベントに保存されるMIDIメッセージは、特定のノートを演奏するようシンセサイザーに指示するノートオンメッセージ、またはノートの再生を停止するようシンセサイザーに指示するノートオフメッセージです。これらのメッセージには2つのデータバイトが含まれており、1つ目はシンセサイザーにノートのベロシティを通知し(ベロシティーが大きいと音が大きくなります)、2つ目はシンセサイザーに再生するノートを伝えます(つまり、ミドルC)。イベント自体には、メッセージをいつ送信するかをシーケンサーに伝える目的に役立つチックも含まれています。 チャレンジ 課題は、シングルトラックMIDIシーケンスで一連のノートオンおよびノー​​トオフMIDIメッセージを分析し、特定のノートがオンのとき、オフのとき、およびこれらのノートの速度。チャートの垂直軸は音価を表し、以下に説明するようにラベル付けする必要があり、水平軸はMIDIティックで時間を表します(ただし、複雑さと間隔の問題を減らすためにラベルは付けないでください) 入力は、それぞれが一連の整数値を含む4つの個別の配列またはリストです。一連の整数値を持つ4つのサブ配列/サブリストを含む2次元配列またはリスト。またはその他の便利な手段。これは、トラック内のノートオンおよびノー​​トオフメッセージを含むコレクションMIDIイベントを表します。これらの配列の最初の値は、音符、2番目のベロシティ、3番目のノートオンイベントティック、4番目のノートオフイベントティックを指定します。たとえば、次のような4つの配列がある場合: {60, 62, 64, 65, 67} {20, 40, 60, 80, 100} { 0, 4, 8, 12, 16} { 2, 6, 10, 14, 18} 各配列の最初の要素を分析すると、次の2つのイベントが得られます。NoteOnコマンド、note 60(中央C)、およびノー​​ト速度20のメッセージを持つティック0のイベント。ティック2のイベントには、同じノートとベロシティを持つノートオフコマンドを持つメッセージがあります。 ルール チャートは、左側に0から127までの数字(音符の値を表す)、音符の開始時、各音符の長さ(音符のオフティックから音符のオンティックを引いたもの)、および音符のベロシティを表示する必要があります。ノートを表すシンボルは、ベロシティに依存します。 0-15: O 16-31: = 32-47: # 48-63: - 64-79: @ 80-95: + 96-111: 0 112-127: * 次のことを想定できます。 ノートとベロシティの値は、[0、127]の範囲内になります。 …

3
文字列内のパターンを検索
この挑戦では、あなたの仕事は、与えられた構造を持つ部分文字列を見つけることです。 入力 入力は、空ではない2つの英数字文字列、パターン p、およびテキスト tです。の考え方は、の各文字がp連続して空でない部分文字列を表し、その部分文字列tが隣り合って出現し、pそれらの連結を表すことです。同一の文字は同一の部分文字列に対応します。たとえば、パターンaaは空でない正方形(短い文字列をそれ自体に連結することによって取得される文字列)を表します。したがって、パターンaaは部分文字列byebyeとa一致し、それぞれ一致しbyeます。 出力 テキストtにp一致する部分文字列が含まれている場合、出力はその部分文字列になり、の文字に:対応する文字列の間にコロンが挿入されますp。例えば、我々が持っている場合t = byebyenowとp = aa、その後、bye:bye許容出力されます。一致する部分文字列にはいくつかの選択肢がありますが、そのうちの1つだけを出力します。 t一致する部分文字列が含まれていない場合、出力は悲しい顔になり:(ます。 規則と説明 の異なる文字はp同一の部分文字列に対応できるためp = aba、文字列と一致できますAAA。文字は空でない文字列に対応する必要があることに注意してください。特に、pがより長い場合t、出力はでなければなりません:(。 完全なプログラムまたは関数を記述できます。また、2つの入力の順序を変更することもできます。最小のバイトカウントが優先され、標準の抜け穴は許可されません。 テストケース 形式で与えられますpattern text -> output。他の受け入れ可能な出力が存在する可能性があることに注意してください。 a Not -> N aa Not -> :( abcd Not -> :( aaa rerere -> re:re:re xx ABAAAB -> A:A MMM ABABBAABBAABBA -> ABBA:ABBA:ABBA x33x 10100110011001 -> 10:1001:1001:10 …
17 code-golf  string  code-golf  ascii-art  geometry  code-golf  ascii-art  code-golf  sequence  stack  code-challenge  number  sequence  answer-chaining  code-golf  code-challenge  math  combinatorics  binary-matrix  code-golf  number  code-golf  cryptography  bitwise  code-golf  sudoku  code-golf  brainfuck  metagolf  code-golf  probability-theory  number-theory  primes  fewest-operations  factoring  golf-cpu  code-golf  restricted-source  code-golf  graphical-output  sequence  binary  code-golf  tips  c#  code-golf  geometry  code-golf  graphical-output  fractal  code-golf  number  sequence  code-golf  number  array-manipulation  popularity-contest  game  board-game  code-golf  puzzle-solver  grid  code-golf  ascii-art  geometry  grid  tiling  code-golf  ascii-art  whitespace  balanced-string  code-golf  card-games  king-of-the-hill  javascript  code-golf  whitespace  balanced-string  code-golf  code-golf  math  abstract-algebra  code-golf  java  code-golf  interpreter  stack  code-golf  base-conversion  code-golf  tips  code-golf  ascii-art  geometry  brainfuck  metagolf  code-challenge  math  quine  code-generation  code-golf  number  kolmogorov-complexity  arithmetic  expression-building  code-golf  string  code-golf  quine  popularity-contest  code-golf  base-conversion  code-challenge  image-processing  code-golf  conversion  coding-theory 

3
単語内の単語内の単語。。。
このアルファベットの大文字のピクセル化されたフォントでは、すべての文字は幅5単位、高さ5単位です。 ███ ████ ███ ████ █████ █████ ████ █ █ █████ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ ██ ██ █████ ████ █ █ █ ████ ████ █ ██ █████ █ █ ███ …

10
昇順行列
「昇順行列」は、任意の要素がそれぞれの行と列で以前に使用されていない最小の利用可能な要素である整数の無限行列(0を含む)です。 | 1 2 3 4 5 6 ... --+---------------- 1 | 0 1 2 3 4 5 ... 2 | 1 0 3 2 5 4 ... 3 | 2 3 0 1 6 7 ... 4 | 3 2 1 0 7 6 ... 5 | 4 5 …
17 code-golf  math  matrix  programming-puzzle  code-golf  music  code-challenge  programming-puzzle  code-golf  fastest-code  code-golf  number  game  code-golf  combinatorics  code-golf  math  sequence  restricted-complexity  code-golf  number  random  code-golf  array-manipulation  code-golf  math  matrix  code-golf  number  sequence  counting  code-golf  math  number  sequence  popularity-contest  number  sequence  code-golf  music  code-golf  number  code-golf  ascii-art  arithmetic  code-golf  code-golf  number  code-golf  code-challenge  array-manipulation  code-golf  grammars  code-challenge  polyglot  code-golf  game  math  python  programming-puzzle  code-challenge  king-of-the-hill  code-challenge  fastest-code  primes  number-theory  number-theory  primes  fastest-code  factoring  popularity-contest  compile-time  code-golf  math 

4
ASCIIアート画像を回転させる
すべてのASCII文字のうち、それらの一部が同じ基本文字の回転であるグループを形成していることは簡単にわかります。たとえば、V > ^ <。これにより、90度の倍数で回転できるASCIIアートを構築できる可能性があります。 チャレンジ あなたの目標は、ASCIIアートと、それをSTDINから回転させる度数を受け入れ、回転したASCIIアートをSTDOUTに印刷するプログラムをゴルフすることです。 入力の最初の行で、プログラムは数値Nを受け取ります。この数値は、ASCIIアートの幅と高さを表します。 その後、それぞれ正確にN文字のN行が追加されます(改行はこの数にはカウントされません)。アートのサイズは常に正方形になりますが、正方形にするためにスペースの形でパディングが含まれることがあります。 最後の行にもう1つ、90、180、または270の数字が表示されます。これは、画像を時計回りに何度回転させるかを表します。 注:入力画像には、正しい量だけ回転できる文字のみが含まれます。入力がこれらの要件に正確に一致しない場合、特定の動作は必要ありません。 出力として、プログラムは各行の後に改行を付けて、N文字の正確にN行を印刷する必要があります。オリジナルの各文字が回転したバージョンに置き換えられ、画像内の正しい場所に移動されるように、画像を回転させる必要があります。 例(あまり美しくないASCIIアート) 入力 5 <- || | |V +->+ |O <--+ 90 出力 ^ +-^ | | | | V +-+-- O <- (90と270による回転は、文字が正方形ではないため、あまり良く見えません) 入力 6 + /\ + | \ \| ( \/| \ ) I \ / :) …

1
正規表現の検証正規表現[終了]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Code Golf Stack Exchangeのトピックになるようにします。 去年閉鎖されました。 入力として正規表現文字列を受け入れ、それが有効かどうかを確認する正規表現を作成します。基本的に、正規表現はそれ自体を検証できるはずです。(無効な正規表現は検証されないため、使用できません.*。;) フレーバーは、よく知られている実装(Perl、sed、grep、gawkなど)によって完全にサポートされている必要があり、それらの実装がサポートするものを完全にサポートしている必要があります。[弁護士が話すことを心配しないでください。私は、スマート***の可能性のある抜け穴を削除しようとしています。] 私はそれをコードゴルフしたいと思いますが、機能が豊富ではないフレーバーを知って使用している人々に優位性を与えるのではないかと心配しています。または、私の心配は根拠がありませんか?
17 code-challenge  code-golf  code-golf  game  sudoku  code-challenge  math  ai-player  code-challenge  sorting  rosetta-stone  code-challenge  code-challenge  programming-puzzle  code-golf  number  code-golf  maze  code-golf  math  regular-expression  code-golf  sequence  code-golf  graph-theory  code-golf  string  word-puzzle  natural-language  brainfuck  metagolf  optimized-output  fastest-algorithm  code-golf  game-of-life  cellular-automata  code-golf  puzzle-solver  grid  code-golf  combinatorics  binary-tree  popularity-contest  code-challenge  code-golf  ascii-art  kolmogorov-complexity  brainfuck  metagolf  code-golf  c  date  code-golf  word-puzzle  crossword  word-search  code-golf  code-golf  quine  code-golf  string  random 

4
アスキーアートブレゼンハム線画
ASCIIアートでブレゼンハムの線を描く最短のプログラムを作成します。プログラムは、2つの整数xとy(コマンドラインまたはstdin、選択)を取り、左上から右xユニットおよび下yユニットに移動するASCII行を描画する必要があります。文字を使用し_、ブレゼンハムのアルゴリズム\に従って正しい場所に配置する必要があります。 を想定してもよいx >= yので、垂直セグメントは必要ありません。 _文字を使用しているため、1行のy=3場合、テキストを4行出力する必要がある可能性が高いことに注意してください(必要のない場合は、先頭に空白行を出力できます)。 例: 11 3 _ \___ \___ \_ 11 1 _____ \_____ 5 4 \ \_ \ \ ちょうど中間のポイントについては、どちらかの丸めを選択できます。 10 1 ____ \_____ or _____ \____

4
重複を折りたたみ、この文字列をジグザグにします
文字列が与えられたら、あなたの仕事は、以下で説明するようにジグザグのような構造に折りたたむことです。 ジグザグに折る "Mississippi"例として文字列を使用します。 まず、一意の文字のみで構成される最長のプレフィックスを出力します。 Mis 最初の重複文字Cに到達すると、それを無視し、残りの文字列(issippi)の一意の文字で構成される最長のプレフィックスを、最初に出現するCの下に垂直に出力します。 Mis i s 水平方向と垂直方向の連続を交互に繰り返します。ただし、この場合のように、最後の複製文字とは限りませんが、複製文字の最後の出現から水平方向に出力を続けるように注意してください(ステップ1)。 Mis i sip ----- Mis i sip i ルール 文字列には印刷可能なASCII文字のみが含まれますが、空白は含まれません。 デフォルトではこれらの抜け穴は禁止されていることに注意しながら、任意のプログラミング言語で競争し、標準的な方法および合理的な形式で入力および出力を行うことができます1。これはcode-golfであるため、すべての言語の最短の送信(バイト単位)が優先されます。 1入力:文字列/文字のリスト/あなたの言語が文字列を表現するために使用するその他のもの。出力:複数行の文字列、行を表す文字列のリスト、または文字/長さ1の文字列のリストのリスト。ただし、可能であれば、コードのきれいなバージョンを回答に含めてください。 追加のスペースに関して、出力には以下が含まれます。 先頭/末尾の改行 各行の末尾/末尾のスペース 一貫性のある各行の先頭のスペースの数 水平方向に出力を開始する必要がありますが、垂直方向に開始することはできません。 テストケース 入力: 「完璧」 「ミシシッピ」 「奇妙な」 「些細なこと」 「クトゥルフ」 「PPCG」 「pOpOpOpOpOpOp」 「ABCCCE」 「ABCCCECCEEEEC」 「abcdcebffg」 「abca」 「AAAAAAAA」 対応する出力: 性能 c t ミス 私 一口 私 Od …

17
交互パターン
削除されたstackoverflowの質問で、誰かが以下を投稿しました: 交番パターンを印刷するプログラムまたは機能を記述*し、#指定された整数に基づきますn。いくつかの例: 入力:n=1 出力: * 入力n=5 出力: *#### ###** ***## ###** *#### 入力:n=8 出力: *####### ######** ***##### ####**** ****#### #####*** **###### #######* かなりクールなコードゴルフの挑戦のように見えたので、ここにあります。 これらのパターンはどのように構築されますか? 最初の行はシングル*で始まり、後続のn-1量が続き#ます。 2行目は、2つが含まれている*と、n-2大手の量#。 3行目は3 *で始まり、その後に続くn-3量が続き#ます。 等 中間(n/2)に達したら、の量で再度カウントします*。これは上記の例で見ることができます。 入力が奇数の場合、行の逆のペア(最初と最後、2番目と最後から2番目など)はまったく同じであることに注意してください。このn=5例では、最初と最後の行は*####;です。最後の行の2番目と2番目の行は###**です。 ただし、偶数の入力番号の場合、行の逆のペアは逆になります。このn=8例では、最初と最後の行は*#######and #######*です。最後の行の2番目と2番目の行は######**and **######です。等 チャレンジルール: およびの代わりに、任意の2つの印刷可能な文字を使用できます。and を使用できます。および; および; 等。あなたが使用したものをあなたの回答に明記してください。*#AB37<> n正の整数(>= 1)であると仮定できます。 STDOUTに出力する代わりに、各行の文字列のリスト/配列または文字の2Dマトリックスを出力できます。 一般的なルール: これはcode-golfであるため、バイト単位の最短回答が優先されます。 コードゴルフ言語では、非コードゴルフ言語で回答を投稿しないようにしてください。「任意の」プログラミング言語の可能な限り短い答えを考えてみてください。 回答には標準的な規則が適用されるため、STDIN / STDOUT、適切なパラメーターと戻り値型、完全なプログラムを備えた関数/メソッドを使用できます。あなたの電話。 デフォルトの抜け穴は禁止されています。 可能であれば、コードのテストへのリンクを追加してください。 …

16
黙示録の21の髪型
黙示録の21の髪型 1から21(または0から20)の間の数字のリストが与えられた場合、次の面の「つなぎ合わされた」描画を出力します(情報のつなぎのルールを参照)。 ___ ,,, ooo === +++ ### -*~*- (o o) (o o) (o o) (o o) (o o) (o o) (o o) ooO--(_)--Ooo-ooO--(_)--Ooo-ooO--(_)--Ooo-ooO--(_)--Ooo-ooO--(_)--Ooo-ooO--(_)--Ooo-ooO--(_)--Ooo- *** ||| _/7 ))) ((( xxx @__ (o o) (o o) (o o) (o o) (o o) (o o) (o o) ooO--(_)--Ooo-ooO--(_)--Ooo-ooO--(_)--Ooo-ooO--(_)--Ooo-ooO--(_)--Ooo-ooO--(_)--Ooo-ooO--(_)--Ooo- ((_ >X< '*` ^^^ …

12
自動ダイヤラーをプログラムする
当時、電話の自動ダイヤラーは、ダイヤルする番号の各桁に1列のパンチカードを使用していました。列には7行ありました。最初の3行は、それぞれ番号(1,2,3)、(4,5,6)、および(7,8,9)を表しています。最後の3行は、この配置を90°回転させました:(1,4,7)、(2,5,8)、および(3,6,9)。中央の行は0に使用されました。1〜9の数字には、最初の3行に1つ、下の3行に1つの2つの穴が開けられます。ゼロでは、中央の行のみがパンチされます。レッツ・視覚化数6のためのパンチ列(.非パンチで、xパンチされ、左側のガイドだけでエンコーディングを説明することです): 123 . 456 x 789 . 0 . 147 . 258 . 369 x ダイヤルしようとしている番号を含む行を探します。6の場合、これは2行目、9行目です。これらの2つの行はパンチされ、残りの5つの行はパンチされません。すべての数字0-9のパンチパターンは次のとおりです。 0 1 2 3 4 5 6 7 8 9 123 . x x x . . . . . . 456 . . . . x x x . . . 789 . …

2
論理ゲートでのゲリマンダーリング
多数決関数は、3つのブール入力を取り、最も一般的な値を返すブール関数です。たとえば、if maj(x,y,z)が多数決関数であり、TtrueをF示し、false を示す場合: maj(T,T,T) = T maj(T,T,F) = T maj(T,F,F) = F maj(F,F,F) = F この質問は、ブール関数を多数決関数の構成として記述することに関するものです。多数決関数の5進構成の例は(x1,x2,x3,x4,x5) => maj(x1,x2,maj(x3,x4,x5))です。この関数は、これらのサンプル入力ベクトルで次の出力を返します。 (T,T,F,F,F) => maj(T,T,maj(F,F,F)) = maj(T,T,F) = T (T,F,T,T,F) => maj(T,F,maj(T,T,F)) = maj(T,F,T) = T (T,F,T,F,F) => maj(T,F,maj(T,F,F)) = maj(T,F,F) = F (F,F,F,T,T) => maj(F,F,maj(F,T,T)) = maj(F,F,T) = F 仕事 ブール値の正の整数nと長さnのベクトルのリストを入力し、可能であれば与えられたすべてのベクトルでtrueを返す多数決ゲートのツリーを出力するプログラムを作成します。この関数は、制約のリストにないベクトルに対してtrueまたはfalseを返す場合があります。 ベクトルのリストは、任意の形式で入力できます。必要に応じて、ベクトルを入力する代わりに、ベクトル内の真の位置のリストを入力できます。したがって、たとえば、[TTF,TFT,FTT]or [[T,T,F],[T,F,T],[F,T,T]]または[[1,2],[1,3],[2,3]](真の位置のリスト)はすべて問題ありません。 …

17
ラムダ紋章を描く
紀元前480年のサラミスでのギリシャの勝利の2497周年を祝うため。ラムダ紋章を描きます。 ラムダブラゾンは、ギリシャの盾に描かれたラムダです。 パズル:正の奇数の整数nが与えられると、上記の盾のアスキーアートイメージを生成します。 仕様: n = 1: ( /\ ) n = 3: ( /\ ) | / \ | ( / \ ) n = 5 ( /\ ) | / \ | | / \ | | / \ | ( / \ ) グラフ: n = 3 …

10
三角数字
(いいえ、それらではありません) チャレンジ 2つの入力が与えられます。最初の数値は正の整数で、数値の直角三角形n > 0を出力するために使用されます。この三角形は角から始まり、水平方向と垂直方向に1つ、対角線方向に2つ増加します。詳細については、以下の例を参照してください。列の間に1つのスペースを置き、特定の列ですべての数値を右揃えにします。(これは結局アスキーアートです)。n x n1, 2, 3, ... n 2番目の入力はx、三角形の開始コーナー(および方向)を決定する、選択した4つの異なる単一ASCII文字の1つです。たとえば、1,2,3,4またはa,b,c,dまたは#,*,!,)などを使用できます。オリエンテーションの動作方法を回答で指定してください。 この課題の明確化のために、左上に1,2,3,4対応するものを使用し1、2時計回りに使用します。 例 たとえばn = 5、のx = 1場合、次を出力します。 1 2 3 4 5 2 3 4 5 3 4 5 4 5 5 入力の場合n = 11、x = 1出力は(一桁が右詰めされているので、余分なスペースに注意してください)以下: 1 2 3 4 5 6 7 8 9 10 11 …

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