問題タブ [rosetta-stone]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
code-golf - パリンドローム ゴルフ
目標: あらゆる言語。文字列が回文かどうかを返す最小の関数。これがPythonの私のものです:
50文字。
受け入れられた回答は、現在の最小のものになります。これは、より小さなものが見つかると変化します。コードの言語を指定してください。
language-agnostic - フィボナッチコードゴルフ
可能な限り少ない文字数でフィボナッチ数列を生成します。f
フィボナッチ数を出力する1つの演算子、で定義した言語を除いて、どの言語でも問題ありません。
開始点:Haskellで25 14文字:
f=0:1:zipWith(+)f(tail f)
language-agnostic - コード ゴルフ: 数から単語へ
コードゴルフシリーズはかなり人気があるようです。数値を単語表現に変換するコードに出くわしました。いくつかの例は次のようになります (プログラミングを楽しむための 2 のべき乗):
- 2 -> 2
- 1024 -> 千二十四
- 1048576 -> 百万四十八千五十七六
私の同僚が思いついたアルゴリズムは、ほぼ 200 行の長さでした。それを行うためのより簡潔な方法があるようです。
現在のガイドライン:
- 任意のプログラミング言語での提出を歓迎します (これについて最初に明確さを欠いていたことについて、PhiLho に謝罪します)。
- 2^64 の最大入力 (単語については、次のリンクを参照してください。mmeyers に感謝します)
- 英語出力のショート スケールが望ましいですが、任意のアルゴリズムを歓迎します。使用する方法について、プログラミング言語とともにコメントするだけです。
language-agnostic - 最小のコード文字で 100 個のランダムな int のリストを作成、並べ替え、出力する
100 個のランダムな正の整数のリストを作成、並べ替え (昇順)、出力するために記述できるコードの最小量はどれくらいですか? 最小量のコードとは、ソース ファイル全体に含まれる文字を意味するので、縮小化を行います。
ありとあらゆるプログラミング言語を使って答えを見たいと思っています。言語ごとに 1 つの回答を保持し、前のものを編集して修正または単純化してみましょう。編集できない場合は、コメントしてください。
language-agnostic - Code Golf: 「クリスマスの 12 日間」の曲全体を最小限のコード行で出力する
人気のホリデー ソングの全 12 節を印刷します。
12の詩とは、歌の中で歌われている各行の繰り返しを意味します。
第 1 節: クリスマスの初日に、私の本当の恋人がナシの木にとまったヤマウズラをくれました。
2 節 クリスマスの 2 日目に、私の本当の恋人が 2 羽のキジバトとナシの木にとまったヤマウズラをくれました。
...
N 節: クリスマスの n 日目に、私の本当の愛は私にくれました (N-1 節、最初の行なし) (N 節に追加された行)
language-agnostic - Code Golf New Year Edition - 整数からローマ数字へ
単一のコマンド ライン引数 N を取り、対応するローマ数字を出力するプログラムを作成します。
たとえば、N = 2009 は MMIX を出力する必要があります。
これが 0 < N < 3000 で機能するとしましょう。
(クリスマス エディションでコード ゴルフの初めてのラウンドを楽しんで、これは新年に合うと思いました。これが他の場所で前に出てきたかどうかを確認するためにグーグルで検索しましたが、そうではないようですが、これがあれば教えてください難しすぎる、簡単すぎる、またはルールを変更する必要がある場合。)
ハッピーMMIX!
code-golf - Code Golf: Pi のライプニッツ公式
私は最近、ライプニッツの公式を使用して Pi を計算する関数を作成することである、" What's you more物議を醸しているプログラミングの意見"に私のお気に入りのインタビュー ホワイトボード コーディングの質問の 1 つを投稿しました。
さまざまな方法でアプローチでき、終了条件は少し考えなければならないので、興味深いコード ゴルフの質問になるのではないかと思いました。最短コードが勝つ!
関数 4 * (1 - 1/3 + 1/5 - 1/7 + ...) を使用して Pi を推定できることを考えると、項が多いほど精度が高くなり、Pi を 0.00001 以内で計算する関数を作成します。
編集: 2008 年 1 月 3 日
コメントで示唆されているように、私は終了条件を 0.00001 以内に変更しました。それが私が本当に意味したことです (小数点以下 5 桁の精度は丸めのためにはるかに難しいため、インタビューでそれを尋ねたくはありませんが、0.00001 以内は終了条件の理解と実装が容易になります)。
また、コメントに答えるために、私の意図は、ソリューションが反復回数を計算するか、十分に完了したかを確認することだったと思いますが、反復回数を事前に計算してその数を使用することを妨げるものは何もありません。人々が何を思いつくかを見るために、私は本当に興味を持って質問をしました。
puzzle - コードゴルフ:オートマタ
これらのルールを使って究極の笑いジェネレーターを作りました。あなたはそれをあなたの好きな言語で巧妙な方法で実装できますか?
ルール:
すべての反復で、次の変換が発生します。
code-golf - Code Golf: インスタンス数を含む、テキストからキーワードのリストをすばやく作成する
私はすでに PHP を使用してこのソリューションを自分で考え出しましたが、どうすれば別の方法で実行できるか興味があります。私が主に興味を持っている 2 つの言語は PHP と Javascript ですが、今日の他の主要な言語 (主に C#、Java など) でもこれがどれほど迅速に行われるかを知りたいと思います。
- X より大きい出現回数を持つ単語のみを返す
- Y より大きい長さの単語のみを返す
- 「and、is、the など」などの一般的な用語を無視する
- 処理の前に句読点を自由に削除してください (つまり、"John's" は "John" になります)。
- 結果をコレクション/配列で返す
エクストラクレジット
- 引用されたステートメントを一緒に保管してください(つまり、「彼らは明らかに「真実であるには良すぎる」でした」)「真実であるには
良すぎる」が実際のステートメントになります
エクストラエクストラクレジット
- 一緒に見つかる頻度に基づいて、まとめておくべき単語をスクリプトで判断できますか? これは、事前に言葉を知らずに行われます。例:
*「ショウジョウバエは医学研究において素晴らしい存在です。ショウジョウバエについては過去に多くの研究が行われ、多くのブレークスルーがもたらされました。今後もショウジョウバエの研究は続けられますが、私たちの方法は変わるかもしれません。」*
明らかに、ここにある単語は「フルーツ フライ」であり、簡単に見つけることができます。あなたの search'n'scrape スクリプトもこれを判断できますか?
ソーステキスト: http://sampsonresume.com/labs/c.txt
回答形式
- 操作がどれくらい続いたかに加えて、コードの結果、出力を確認することは素晴らしいことです.
code-golf - スカイラインの問題
私はUVA のオンライン ジャッジでこの小さな問題に出くわし、小さなコード ゴルフの良い候補になるかもしれないと考えました。
問題:
あなたは、建築家が都市の建物の位置を考慮して都市のスカイラインを描くのを支援するプログラムを設計することになっています。問題を扱いやすくするために、すべての建物は長方形で、共通の底を共有しています (建物が建てられている都市は非常に平らです)。都市も二次元として見られます。建物は順序付けられたトリプル(Li、Hi、Ri)によって指定されます。ここで、LiとRiはそれぞれ建物 i の左座標と右座標であり、Hiは建物の高さです。
下の図では、建物は左側にトリプルで示されています
右側に示されているスカイラインは、次のシーケンスで表されます。
出力は、上記の例に示すように、スカイラインを表すベクトルで構成されている必要があります。スカイラインベクトル(v1, v2, v3, ... vn)において、i が偶数のviは水平線 (高さ) を表します。iが奇数のviは縦線(x座標)を表す。スカイライン ベクトルは、たとえばバグが最小の x 座標から開始し、スカイラインを定義するすべての線を水平および垂直に移動する「パス」を表す必要があります。したがって、スカイライン ベクトルの最後のエントリは 0 になります。座標は空白で区切る必要があります。
提供された (テスト) 建物の宣言をカウントせず、すべてのスペースとタブ文字を含めない場合、Python での私の解決策は223文字です。
要約版は次のとおりです。
私は間違いを犯していないと思いますが、もしそうなら、遠慮なく私を批判してください。
私はあまり評判が良くないので、報奨金には 100 しか払いません - 誰かがこれを 80 文字以内で解決できるかどうか知りたいです。cobbalによって投稿されたソリューションは101 文字の長さで、現在はそれが最適です。
この種の問題では、80文字は病気の限界だと思いました。cobbalの 46 文字の解決策には完全に驚かされました。認めざるを得ませんが、彼が書いた内容を部分的に理解する前に、彼の説明を読むのに時間がかかりました。