CodinGame Chuck Norris - Code Golfをいろいろな言語で解く種目
現在世界で挑戦しているのは、私1人という超個人競技
昨日、心をへし折られた感のあるC言語で再挑戦
理由は標準でない機能をネットで探して発見しようとしていたから
なかなか自作まで踏み切れなかったのですが、
作ってみるとなんとかなるものです
ローカルでは満点なのですが、SUB . . . 本文を読む
ーーーーー 筏文 ーーーーー
CodinGame Chuck Norris - Code Golfをどこまでもやる。
もう少しでCode Golf総合100位 GOLFGURUの称号まで届きそう (※CodinGameにそんな称号はありません今の所)
さて今回はPascal かなりの強敵で現在放置中のCに匹敵する難易度高さがありました
古い言語なので情報 . . . 本文を読む
CodinGameのChuck Norris - Code Golf 作成中の一枚
数値からビット変換は自前で作るしかないらしいです
7行目 ビット演算 nと、2のk乗を&(ビット演算のand)した値が0以上ならビットが立っています
8行目 問題の解法のメインになってます . . . 本文を読む
CodinGameというサイトのChuck Norris - Code Golfという問題をRustで解いてみました
制作時間 3時間ぐらい(2時間はふて寝等)
訂正 7行目 さいごに加算とありますが文字列の連結です
ーーーー 筏文 ーーーー
制作過程 コメントは次の目標とかになります
初期状態
文字列を一文字ずるアスキーコード化して表示
. . . 本文を読む
今度はCodinGame チャックノリスのcodegolfの問題を解いてみます
あんまり使わないRubyでやってみます
雛形が豪快です さすがチャックノリス
何をするかというとメッセージを全て0とスペースに変換します さすが0で割りができる男 チャックノリス
問題文、適当に後で読みます
こんなことします
まずは . . . 本文を読む
まず問題のページを開きます
CodinGame Byte pair encodingを解いていきます
問題と解答のサンプルをみます
問題から解答を作成できるプログラムを作っていきます
まずは問題文を読むでも、もちろん正解です
圧縮問題なのですが、圧縮の細かいルールがわからないので問題文を翻訳して読みます
私の場合原 . . . 本文を読む
この言語の使い勝手はかなりいいです
連想配列の使い方も簡単でした
どこまでも続くCodinGameのDON'T PANIC code golfのマラソン
くっつけたり、はなしたりが自由自在
文字列の長さを取るのに #文字列
これは使ってみて楽しい
. . . 本文を読む
Groovyの連想配列はマップ
ちょっとクセがあってはまりました
知らないだけかもしれませんが、なんとなく詰めが甘いような気がします
Map m とか Map m=[] だと エラーとかヌルポで使えませんでした
Map m=[:]が正解
22行目}のあとに;が必要
nextIntの嵐を関数化でスッキリ
さらにマップにダイレクトにm[x()]=x . . . 本文を読む
変数名hで作成しています
8行目が定義、9行目が追加、23行目で参照
CodinGameのDON'T PANICのCode Golfなのでぴっちりしています
Basicだと配列とか[ ]ではなくて( )
if文のマッチは == ではなくて =
Dimって不要じゃなかったっけと削ったらエラー
それはVB6までで、VB.NETだと必須らしい
時代は流れていました
コ . . . 本文を読む
Perlでもハッシュ(連想配列)
4、5行目定義時に%を使っています
これを縮めてCodinGame DON'T PANICにSUBMIT
Perlは達人が多いようです
2行目いい感じにまとめらて少し自信はあったのですが、下位30%ぐらいの順位 きびしい
あと{}内の最期の;は外せて、my$iとか定義くっつけられたり、ちょこちょこ試行錯誤で少し減らせました . . . 本文を読む
Rustだと取得時のキーに&をつけるルールが存在する。
あとこの場合5行目のcを13行目で使いまわそうとすると怒られる。
メモリ管理にルールが多数存在していそう。
(行数)
2行目 useしてあげないといけない
8行目 定義
9行目 追加、変数を省略してます
10行目 取得と表示例
23行目 文字列化する前にtrim()をかけています
. . . 本文を読む
C#の連想配列のサンプルです
(行数)
15 定義
16 追加
17 取得 取得時に元の値の型にしないとobject型になるようです。
(定義の方法で解決するかも知れません C++とかC#は割となまもので、いろいろ方法が変わったりします)
ーーーーーーーー以下 code colf ーーーーーーーーーー
code golfとは無駄を極力排除して目標を最短で射抜く謎遊 . . . 本文を読む
CodinGame Don't Panic祭り、いにしえのC言語にも挑んでみます
連想配列は作らないとないので作りません、代替として配列で対応
C言語は古い言語なので文字列操作はいろいろと手間がかかります
char型で文字数分枠を取って入れます
最期に終端コードが入るので枠は1つ多めに
一文字を比較する時、char型なので" "ではなく' 'でくくります
いにし . . . 本文を読む
CodinGameのDon't Panicを解く
各フロアのポータルの位置を記録して利用するために
辞書型(C++だと連想配列)を調べる
(行番号)
5 <map>をインクルード</map>
12 kという名前の連想配列をキーint型 中身int型で指定
14 追加 呼び出しはk[n] nはキーに存在する値
ーーーーーーーー . . . 本文を読む
イメージ
CodinGameのエディタからコピペ。
インデントはくずれる
import java.util.*;
class Player {
public static void main(String args[]) {
Map<Integer, Integer> floorPos = new HashMap<>(); //連想配 . . . 本文を読む