SHOJIN.E.D

プログラミング、英語、筋トレなど日々精進していきます

今日やったこと(2020/5/1)

5月になってしまいました。いつのまにかに葉桜になっているし(遅い)、最高気温が25度を超しているし、暑くて寝苦しい夜が来そうなのをひしひしと感じるようになりました。4月を振り返ってみると本当に何もしなかったことを後悔してしまいます。今日の起床は11時半、相変わらずクズみたいな生活リズムです。シャワーを浴びて、ご飯食べてたら12時半になってしまったのでそこから作業開始!

1. vscodegithubの環境構築

仮にも情報系だからgitとgithubぐらい使えるようになったほうがいいなーと思いまして解いた問題のコードをgithubに上げて管理することにしました。エディタはいろいろ調べてたら今まで使っていたVScode競技プログラミングにも便利そうなのでVscodeを使ってます。

そのときに詰まってしまったことがあったのでメモします。環境はwslのubuntu18.04LSをvscodeのRemote-WSLを使ってます。

2. VScode と git のインストール

ここでwindowsにgitをインストールしたんですが、Remote-WSLだとWSLにインストールされているgitを使うからインストールしなくてよかったのかも? wslにはすでにgitが入っていたのでそのまま続行

3. 公開鍵と秘密鍵の作成からのssh接続で失敗

こちらのページを参考にして公開鍵と秘密鍵を設定してgithubssh接続を試みました。

GitHubでssh接続する手順~公開鍵・秘密鍵の生成から~

$ ssh git@github.com
PTY allocation request failed on channel 0
Hi mowamowa! You've successfully authenticated, but GitHub does not provide shell access.
Connection to github.com closed.

なんか変なのでてるもののsshに接続できた!と思ったのだが一度VScodeを再起動すると接続できない・・・

$ ssh github.com
mowa@github.com: Permission denied (publickey).

なんでかなーと思ったらssh-agentでssh-addを使って登録しても、terminalを再起動しちゃうと設定が消えてしまうみたい! 再起動するたびにeval $("ssh-agent")'してssh-addをするのも大変だし、.bash_profile`に書けばいいのかなーと思ったんですけど面倒くさくて中止・・・

sshで接続できるようになってもterminalからはgitにアクセスできるものの、VScode上のgitからはpermission deniedが出て結局できませんでした! なのでもうssh接続するのはあきらめて、httpsでいろいろやりとりすることにしました!sshhttpsの違いもよく分かっていないのでこれから勉強しようと思います。

3. WSLからのwindows領域へのgit cloneはできない!

リポジトリをwslとwindows両方から見れたら便利かなーと思って/mnt/c/git/githubで作成したリポジトリgit cloneしてみたところ失敗・・・

 $ git clone https://github.com/mowamowa/AtCoder.git
Cloning into 'AtCoder'...
error: chmod on /mnt/c/git/AtCoder/.git/config.lock failed: Operation not permitted
fatal: could not set 'core.filemode' to 'false'

調べてみるとwindowsubuntuではファイルシステムが違うためcloneできないらしい。なのであきらめてubuntu配下で作業を行うことにしました・・・

4. ABC157ABC問題

上記の作業が終わった時点で時計はすでに17時を回っていました、悲しい。

とりあえず何問か解こうと思って今日はABC157のABCを解いてみることにしました。

1. A問題

簡単でした。

2. B問題

ビンゴの配列はvectorの2次元配列で作ったほうがいいのかそれとも普通の配列でいいのか・・・

3. C問題

全部ループで回して探索しても1000で済みそうなのでその方針でプログラミング開始

スムーズに行けると思ったもののi番目の桁の数を取り出す方法で詰まる・・・ 計算して求めるか文字列にして求めるか迷ったものの文字列にして求める方法で作成

str[i]で数値が返ってくるとずっと勘違いして入力の数字と比較しても全然合わなくてどんどん時間がたってく・・・ そこでやっとstr[i]で返ってくるのはchar型の文字だということに気づいてstr[i]-'0'で数字に変換しました。

完成してサンプルで動かしてみたら全部正解だったので提出みたらみごとにWA・・・ なんかいろいろ変えてみたらACしました、気力がつきたので原因究明はできず・・・

5. 今日のまとめ

  • ssh-addは再起動すると設定した鍵が消える

  • 簡単な形ならvectorは使う必要ない

  • 数字から数値への変換はchar - '0'

明日は早起きして朝から頑張りたい!!