SaKiLOG

おもに勉強とか思ったことの記録。自分用メモです。

【記録】7/12 なんだかんだ1週間続けられた。

A問題はほぼ大丈夫。B問題は、へなちょこミスで1~2回WAしちゃうから要注意。

来週はC問題を解けるようにして3完めざすとする。

 

やったこと

AtCoder過去問 27問(A問題16問、B問題11問)

f:id:saki0828:20200712225827p:plain

学んだこと

・1文字だけ小文字に変換する

※スライス(シーケンス(リスト、文字列、タプル、バイト列)の一部分を切り取ってコピーを返してくれる仕組み)を使う

K文字目を小文字にする場合

S=S[:K]+S[K].lower()+S[K+1:]

※スライスで指定する要素の数字、注意!

 

・降順にソート

l.sort(reverse=True)

【記録】7/11 特に中身ない記録。

今日は体調すぐれず睡眠日になってしまったので、精進も進まなかったし通常のABCの回じゃないしということで、参加をやめてしまった。(難しかったみたいなので、結果オーライということにしよう。)

 

やったこと

AtCoder過去問 2問(B問題2問)

f:id:saki0828:20200712015348p:plain

 

B問題、初回でなかなかACしなくって、何かしら場合分けが間違っていることが多いので、よくよく確認するようにする!

【記録】7/10 いよいよ明日初挑戦(の予定)

だんだん普段使っていなかった脳が活性化してきた感じでさくさく解けるようになってきた!

 

やったこと

AtCoder過去問 19問(A問題12問、B問題6問、C問題1問)

f:id:saki0828:20200711025358p:plain

 

学んだこと

・文字列の比較いろいろ

・末尾の文字削除

txt = 'あいうえお'

print(txt[:-1]) #あいうえ

参考)

txt = 'あいうえお'

print(txt[-1]) #お

 

・リストの重複削除

S=[1,2,2,3]

K=set(S) # K={1,2,3}

※再びリストに戻すには、K=list(set(S))

 

・リストの並び替え

S.sort()

 

【記録】7/9 AtCoder Problemsありがたいサイト。

今日はできるという自信をつけるための勉強をしてしまった。明日はB問題とC問題に積極的に取り組む!

 

やったこと

AtCoder過去問 23問(A問題19問、B問題4問)

f:id:saki0828:20200710022134p:plain

学んだこと

・文字列を1文字ずつリストにする方法

(list('日月火水木金土'))

 

qiita.com

 

Pythonのハッシュの使い方

l={"SUN":7,"MON":6,"TUE":5,"WED":4,"THU":3,"FRI":2,"SAT":1}
A=input()
print(l[A]) #ハッシュリスト[キー名]で値を取得

 

Python文字列の抽出

頭からx文字まで抽出したい場合

s=s[0:x] #0は省略可能

note.nkmk.me

【記録】7/8 AtCoderの過去問楽しい。

AOJで途中からひーひー言って「こんなんじゃコンテスト挑戦できない。」と思ってたけど、AtCoderの過去問みたらA問題は大丈夫そう。B問題も解けそう。C問題はこれから頑張ろうって感じだったから、安心した。

 

やったこと

AtCoder過去問 20問(A問題17問、B問題3問)

 

f:id:saki0828:20200709012211p:plain

 

学んだこと

・Python3で次のアルファベットを求める方法

ord関数でUnicodeのコードポイントを求める、

chr関数でUnicodeのコードポイントの文字記号を返すことができる。

 

qiita.com

【記録】7/7 いきなり難しくなってきてる。

やったこと

・AOJ 6問

(まだ全然序盤なのに難しくって進まない…)

 

学んだこと

・複数行で2つの数値を受け取る場合で何行か不明な場合

・改行コードの削除

 

import sys
xy=[]
for l in sys.stdin:
 xy.append(l.rstrip('\n'))
 x,y=map(int,xy[i].split(" "))

 

・range関数でrange(1,5)のように開始と終了を指定するときは、rangeの終了値の1つ前までしかfor文が実行されない為、注意!

浮動小数点の桁数の指定方法

例)10桁

'{:10}'.format(num)

例)小数点以下8桁

'{:.8f}'.format(num)

 

・eval関数で、式として評価することができる。

・printで改行させたくないときprint("output",end='')