chevron_left

メインカテゴリーを選択しなおす

cancel
パーソナルブログメモリ https://blog.goo.ne.jp/field_light

個人的な簡易記録です。コンピュータ関連をメインでやってます。ようこそ!いらっしゃいませ。

パーソナルブログメモリ
フォロー
住所
未設定
出身
未設定
ブログ村参加

2018/06/05

arrow_drop_down
  • Switchのプチコン4で2時間クオリティの音感を鍛えるソフトをつくってみた

    任天堂スイッチのBASIC言語付属ソフト、プチコン4号で音感を鍛えるソフトを作ってみました。公開キーは4E33XKV8Eです。タイトルの変え方とか解説の日本語化とか学習中。アイコンもなんとかしたい。作った当初、ドの音感はあったらしいしばらくやってみるとシもなんとかなった気がする。そして全て2問ずつ正解が不正解を上回った時にクリアして数行のエンディングを追加して再公開一度もクリアできず、さらにクリア条件にミスがあったので再公開未だに一度もエンディングにいけず。ドの音感も怪しくなってしまうSwitchのプチコン4で2時間クオリティの音感を鍛えるソフトをつくってみた

  • 49分でPython

    18:11から19:00までの間でPythonの基礎になりそうなものを作ってみました。また。https://colab.research.google.com/drive/1TzKfqExR7dzUOPj720ZGlLpu9Hb3SSTJ?usp=sharing49分でPython

  • Python3は違うプログラムを書いてもだいたい同じになる?

    Python3は誰が書いても同じプログラムになるという都市伝説があるらしいが実は違うプログラムの問題を書いても同じになる。パリからローマに向かう問題と電車でどこからかどこまで行く問題https://www.codingame.com/training/medium/how-many-roads-lead-to-romehttps://www.codingame.com/training/medium/train-passenger同じ人が書けば。Python3は違うプログラムを書いてもだいたい同じになる?

  • Pythonのスコープががばい説を追う

    ここ数日TwitterのPythonのツイートで確認してみました。まず関数の外側で指定した変数は関数でそのままみることができます。[1](普通の文字と数字の変数でもそうだと知ったのは最近)ただし関数側でglobal指定されてない場合代入すると別変数になります。[5][6]リストは代入するとまったく同じもの[8]deepcopyを使ってあげましょう[9]イテレータで回して値を代入しても変わりません[13]中身によるようですクラスなら変更可能っぽい[△]selfが面倒という意見も[14]実はselfでなくてもいいんです[15]関数のメソッドでselfつけ忘れ、同じ変数が外にあったら参照します[△](2日前に実際やらかしました)Pythonのスコープががばい説を追う

  • 店のレジスタ計算

    こんな問題を解いています。https://www.codingame.com/training/medium/self-checkout-machine先日、PythonがTwitterでたたかれていたらしく、しばらく眺めてみる。確かにその辺最初はハマったなーと思った箇所もあったりする。私の場合はPythonは他の言語より簡易にしようと考えられた箇所が多く見られて、こういう使い方できるかなという発想も、「もちろんできまっせ」みたいな返しをしてくれるので言語の中では一番好きだったりする。難しい言語が好きそうな意見もあったりゲームの難易度みたいなものと一致するような気もする(ゲームの難易度はeasy好き)そんな折、挑んだのが店のレジスターのようなシステム開発、現代の言語の多くでハマる小数点計算問題だったりする。ドル...店のレジスタ計算

  • プログラム言語を効率的に学ぶ方法を考えてみる。Juliaをインストールからやってみる。

    私はプログラムで30言語は使えます。今までトータルすると50言語ぐらいになるかもしれません。実務で使ってお金を稼いだのは10言語ぐらいです。今日、高校の情報の資料を読んでいて、正直これではダメだなと感じました。情報の資料がというより、その前の大前提として日本は文を多く書いたもん勝ち、みたいに勘違いしている気がします。実際に勝っているのかもしれませんが、その勝ち負けの効率が悪くて社会的に疲弊して大赤字国家に転落している気がしています。(たまにどこまでも膨らむ妄想はここまでにします)ということでJuliaという言語を実際に学習してみます。目標は簡単な数独を解くプログラムにしてみます。環境をインストールからubuntu20.4なので矢印のあたっているものをダウンロードして解凍解凍したフォルダのbinからターミナルを開...プログラム言語を効率的に学ぶ方法を考えてみる。Juliaをインストールからやってみる。

  • 廃液に沈む村 広げた神の紋様数 街の心 最適なスライディング

    VERYHARD問題に4個挑んでみました。廃液に沈む村その山間の地域に希望はなかった。廃液が吹き出し、あたりは這い寄る廃液にまみれ周辺の村は沈んでいった。最後に沈む村の名前を答えなさい。クトゥルフの神話体系のような物語が添えられています。ルナランダーのようなジクザグなマップデータといくつかの村のX座標さらに廃液の吹き出しX座標が与えられ最後まで残る村を答えます。吹き出し口から村までの高さが一番高いものを答え、あと村までの谷の深さを積分してみましたが、81%広げた神の紋様数紙なんですけど、変換が神だったものであえてそのまま。切り絵を展開していってその中の穴の数(はじっこの切れ込みも1つと数える)を答える問題。展開図作るのかと思ったのですが数値爆発系、簡単ほうからルール2つほど実装28%街の心正方形街の中心から一定...廃液に沈む村広げた神の紋様数街の心最適なスライディング

  • VERY HARD問題 3連戦

    CodinGameのCLASSICPUZZLE-VERYHARDhttps://www.codingame.com/training/expertに3問立て続けに挑んでみました。最初はTheLuckyNumber数値爆発の問題LからRの数列の中に6か8が登場する番号がいくつあるか?66%までは10行ぐらいのプログラムでできますが、そこまで、ここから先は桁ごとの法則を見つける必要がありそうです。次はHigh-risebuildings数独の3倍ぐらいルールの複雑な数独、数字を塔の高さにみたて上下左右から見た時の塔の高さが情報として与えられます。縦横に同じ数値が並ばないという数独と同じルールもあります。データ化して削れる所を削っていきます、解き方は数独と似ています。バグが取れません。削るルールはいくつか考えたのです...VERYHARD問題3連戦

  • Python3 TypeError: 'int' object is not iterableはrangeのつけ忘れかも

    エラーは12行目この場合、foriinrange(n):が正解です。Python3TypeError:'int'objectisnotiterableはrangeのつけ忘れかも

  • ちょっとした合間に承認をして速攻で世界一位を取る

    その魚拓2年後ぐらい真ん中あたりまで降下する予言外れる時は10日も持たない。ちょっとした合間:朝のスーパーで半額ダウンの和菓子を購入に行こうかなと思っている間結果:行ってみるとすでに半額和菓子ソールドアウトちょっとした合間に承認をして速攻で世界一位を取る

  • 超難問 素数異世界の黄昏

    素数の値が別の素数に入れ替わった世界とこの世界間の数値の情報の違いから、この世界のある数値の異世界値を求める問題例えば素数の7が異世界の素数(以後異素数)で5とする。すると、この世界の49は異世界だと25になる。この世の1以上の整数は何らかの素数の掛け合わせの組み合わせだからその素数を別の素数に入れ替えて別の数字を作ってしまおうとする試み実際の問題はこちらhttps://www.codingame.com/training/expert/prime-transformationsCodinGameのVeryHardの問題はこれまで4題しか解けていない。挑戦中も3題しかない。自分に取って挑戦すら、ためらわれるものらしい。最初の数問はちょっとした推理と勘みたいなもので解ける。しかしこんなものがあり見ただけでやる気を...超難問素数異世界の黄昏

  • 何をしていたのか...わからない。

    何をしていたのか...わからない。何をしていたのか...わからない。

  • タワーディフェンスで守れるか問題

    タワーディフェンスで守れるか問題https://www.codingame.com/training/hard/castle-siegeルールTがタワーで数値がモンスター1つのタワーは自分中心に5x5の攻撃範囲をもつ優先順位はY座標の小さいものからタワーの近くX座標の大きいものから1ターンに1つの敵を攻撃するモンスターは1ターンに1つ上に進む0になる前に画面外に出たら負けそれまでに全て防げたら勝ちタワーにモンスターが衝突するとその時点で0になり次のターンで消滅する勝ちか負けかと終了時のターンを答えるほとんどゲームの骨格を作った感じエラー表示が多いのは最後ルールの微調整のためアプローチ少し変わった手法としては盤面をまったく作っていない点48〜57でタワーとモンスターをリスト化しています攻撃の優先順位が複雑で索敵か...タワーディフェンスで守れるか問題

  • スペースデブリを取り除く問題

    宇宙飛行士からの信号を解読する。メッセージはスペース区切りで一文字ずつ、キャラクターか2進数の文字コードか8進数の文字コードか16進数の文字コードで解読した一文字はスペースか大文字小文字のアルファベットに必ずなる。https://www.codingame.com/training/medium/lost-astronaut見失った宇宙飛行士というより、システムにそのまま入らないデータを調べたり、加工したり作業を思い出す。今回、一番厄介なのはスペース区切りの中に文字として利用するスペースがあるケース。ということで最初に作ったのが8行目まで。次に数字上は何進数かわからない所。アルファベット縛りで同じ数字で違う文字を回避しているのだろう。面倒なので全部辞書を最初に作って、この問題に適したスペース分割をした文字を辞書...スペースデブリを取り除く問題

  • 3Dプリントの問題

    正面、右側、上からの画像から3Dオブジェクトを下から描いていく問題https://www.codingame.com/training/medium/3d-printer三次元を扱う時はいつもXYZをどの向きに取って、どちら側を正とするのか悩まされます。自分でもコレといったものがなく遭遇する頻度も少ないので5ミリ方眼紙に試行錯誤して問題を解きやすい形を考えました。まず幅、高さ、長さの3次元リストを作って表示まで、この時点では下から上に書くという認識がなく上からしたに書いています。あとは各方面からリストを削っていけば完成予定。答えのサンプルなんとか完成したもの。入力でスペース部分を削っていったのですがなかなか合いません。問題の展開図のスペースが後ろトリムしてあり答えもトリムしなければならなかったり方向が逆だったり...3Dプリントの問題

  • マップ内の最大の長方形を求める問題

    サイズwxh0か1で埋められたマップが存在する。その中で縦横が1で埋められた箱の中で最大を答えるという問題を解く。https://www.codingame.com/ide/puzzle/largest-binary-rectangle人間の目と脳だけでもなんとなく分かる。とりあえず計算しやすい横一列だけのケース、次に縦一列、最後に箱を検索してみる。完成した1号。よくよく考えたら箱だけで長さ1から検索していけばいいことに気が付きさらに関数化する必要性がないのでベタ書きしてSUBMITマップ内の最大の長方形を求める問題

  • No More Pythons, Please!という問題を解く

    https://www.codingame.com/training/easy/no-more-pythons-pleasePythonにアレルギをおこしているのでしょうか?最初は入力情報の整理から。この問題、画面情報から蛇の一番長さとその長さの蛇が何匹いるか答えます。蛇の頭がo胴体は横なら-縦なら 曲がる所は*尻尾は<>^vで開いた方向とつながっています。まず頭の位置情報を取得していきます。蛇の長さを求める関数を後回しにして完成です。長さは迷路探索の要領で...と思っていたらかなりややこしい迷路探索になるなと戸惑った時の一枚完成です。コメントをガシガシたした一枚。こんな感じで解いていきます。はいクリアと思ったら、60%蛇が壊れていそうな時のケースを10と26行で回避まだですか・・・。該当問題のcommunit...NoMorePythons,Please!という問題を解く

  • ifとforで謎問題を解いていく過程

    この問題を解いています。https://www.codingame.com/ide/puzzle/simple-load-balancingn台のサーバがあって、追加で作業がtask個入ってくる。n台のサーバにはすでにスペース区切りの数値の作業が入っている。全サーバ間の負荷の差が最小になるようにtaskを振り分けた時、その最大と最小の差はいくつ?問題の数の例100台のサーバに10000の追加タスク、各サーバーの現在のタスクは...59835,83610.3161....と入っていますまず思いついたのはサーバーをソートして小さい方から1ずつ足していき隣の大きい数を越えそうならなんとかするみたいなもの。ただ一番やっかいな問題だとtaskが100000000なのでおそらく時間切れ。次に思いついたのはソートして小さい順...ifとforで謎問題を解いていく過程

  • バックギャモン、デバッグの日

    バックギャモンのAIのバグがどうしても取れないので、ボードのデータ構成から作り直す。少し理解しやすい形にしてロジック部は、ほぼ作り直し。それでもエラーが発生。仕方がないので移動のルーチンのテスト関数を作る。それでもエラーが発生。想定しない手をさそうとしてエラーで負ける。指し手のロジックを全部表示してもたまに有りもしない手を指す。最終的に指し手の検算をして、させない手をささせなくする。バグは出ても通しませんというあんまり作ったことのないルーチンで回避してしまった。その少し後にバグは突如駆逐される。行数でいうと下の23行目、ソースを画像に収めるべく縮めるために使ってしまった手の初期化te=[]を関数に入れてしまったこと。これがなんかのタイミングで初期化されない。言語のバグなのかもしれない。(呼び出し側でteに値を設...バックギャモン、デバッグの日

  • バックギャモンのAIを作ってみる

    CodinGameのcontributeにバックギャモンが登場していたので作ってみました。https://www.codingame.com/contribute/view/169118a6863bd41e0dde91d644c07b37a3bd6午前中で完成したのはこんな感じです。ボードをどのようにデータ化するかが一番悩まされたところです。よし!世界3位6人中はまった所ゲームシステムの受け渡し方法が初期サンプルで動かないので確認して修正。バックギャモンのルールをほぼ知らないので都度設計部分からの修正。ヤマ(バーの事を勘違いしている)からしか動かせないとか最期の枠に全部入っていないとゴールできないとか、パスが入る時、大きいダイスから優先しないといけないとか、ゾロ目だとその目の4回分動かせるとか古のゲームほど絶妙...バックギャモンのAIを作ってみる

  • 解けない時は解けないと目標の謎

    HARDの問題https://www.codingame.com/ide/puzzle/sum-of-oddHARDは挑戦した問題の内解けたのは68%ほど、実際は問題を見て、コレは無理と放置しているものもあるので4割解ければいいほうかもしれません。設計段階でこの問題は算術の問題という気がしていました。算術でプログラムの高速化をして解ける問題。下手したらループをした時点で敗北だったりすることもあります。問題は、連続する奇数の和がnとなるものの数とその中の奇数の個数が最大になる時の、連続する数列の最初と最後を答える問題nは最大で2147483631結局、今回は解けず。設計時に記載した目標は達成。なぜか目標通りに行くのは引き寄せの法則なのかもしれません。よくある気がしています。解けない時は解けないと目標の謎

  • プログラムの設計

    こんな感じで設計していますというサンプル。順番に点を線でつなげて絵を書く問題です。https://www.codingame.com/ide/puzzle/join-the-dots問題と解答の全パターンがこちら、初期状態のプログラムに設計方針を追加してみたものです。完成形はこちら(bx,by)から(x,y)へのdx,dyを求め、マークを決定さらに既存のマークとの混在で+X*へ置換え。8行目の"¥¥"は""を表しています。10、11行目は0:False1:Trueとなる事を利用しています。だいたい設計通りに作れました。発生したありがちなバグはdxのロジックをコピペしてdyのロジックへ変更する際の変更もれが2,3箇所でした。プログラムの設計

  • プログラムの問題が解けない時はループの回し方がわからない説

    問題は画面のサイズと1つの四角の置き場所が決められた時、残りをタイルで埋める問題解けたのがこちら、最初に完成したもの62行を42行に縮めコメントを加えたものです。5mm方眼紙にいろいろお絵描きしていて、置く開始位置に法則と順番があると気がついた時にようやく答えにたどり着きました。この問題の場合一番悩んだループの回し方は24〜27行目です。他の参加者の解答例です。なんて調子のいいこと言っているとまったく回し方がわからない問題に遭遇する。n進数の加算関数もなんかバグがあるし、新しい鍵情報の追加順もわからない。プログラムの問題が解けない時はループの回し方がわからない説

  • Pythonを半日で基礎のマスターできる一枚②

    ペントミノのような問題の出力画面がこちら計算も面倒そうだけど(現時点で回し方がさっぱりわからない状態です)、結果の表示もかなり大変そう。表示部分を文字列操作で実施してみました。文字列操作はあとfindlenupperlowersplitjoinなどPythonを半日で基礎のマスターできる一枚②

  • Pythonを半日で基礎のマスターできる一枚

    この所、CodinGameで問題を解いていて、プログラムの基礎はこれではというものが浮かんでそれを表現するのにフィボナッチ数列の生成がいいのでは思いついて作成しています。これではというのはリストを操るです。あとリストのソートa=sorted(a)ができれば、基礎は完璧です。delindexcountremoveなんかも・・・Pythonを半日で基礎のマスターできる一枚

  • レベル41に到達する

    CodinGame2022春大会が終わる。結果は全体で1082番、個人的にはまあまあの成績。10日間のマラソンでだいたい3日で力尽き最期3日ぐらいでちょっと走る。高校時の体育の持久走のペース配分と同じことに今気がつく。最期走らないと真ん中ぐらいまでは余裕で落ちる。コツコツ作ることの大切さをいつも痛感して、次のコンテストのころには忘れてしまっていて、ああそうだったの繰返し残り3日は大学ランキングで千葉大がぐわっとあがったので、つい嬉しくて頑張ってみました。その頃からラストまでのコメントの魚拓(見直すと2日だったようです)大学総合ランキングは3名以上参加の対象校303校中61位オックスフォードより上でした。1位の学校はヴロツワフ大学以前、ダンジョンRPGのゲームで、ここの学校の方たちに相当揉まれたので納得です。(大...レベル41に到達する

  • Elixir探検記3 駒の反転で力尽きる

    もう少し迷宮をさまよってみることにします。こんな設計で開始駒の反転まで下記のプログラムで実施、ブログの都合でソースのタブが変更されてますが、ck.exsで保存して実行できました。再帰で作成すると開かれたループを閉じるループに変更するなんというか逆算のようなプログラムの作り方みたいな感じで今ひとつ探検感がない。簡単に説明すると、sが文字列pが位置cがキャラクタ、ptがパターン用の文字列dが検索方向bdがオセロ盤中央の位置にoかxを置いた時の反転状況を表示しています。テストはザルなのでバグの想定数は2文字列の追加は<>これさえ覚えておけば大丈夫です。defmoduleOtdodefput(s,p,c)do(String.slices,0,p)<>c<>(String.slices,p+1,(String.lengt...Elixir探検記3駒の反転で力尽きる

arrow_drop_down

ブログリーダー」を活用して、パーソナルブログメモリさんをフォローしませんか?

ハンドル名
パーソナルブログメモリさん
ブログタイトル
パーソナルブログメモリ
フォロー
パーソナルブログメモリ

にほんブログ村 カテゴリー一覧

商用