AtCoder Beginner Contest 120 A〜C問題・情報技術者試験
前書き
AtCoder Beginner Contest 120 A〜C問題を解きました。
B問題
- 難易度:灰
- 時間:5分
1≤A,B≤100ですので、O(N)の処理で問題ありません。
A,B,K=map(int,input().split()) _lis = [i for i in range(1,101) if A%i==0 and B%i==0] print(_lis[-K])
C問題
- 難易度:灰(高)
- 時間:15分
N個積み上げられたブロックから「ぷよぷよ」みたいに赤と白のブロックが連なると消せる仕組み。
消されたブロックは幾つでしょうという問題。
地道に消していく作業を加えると、計算量はO(N**2)以上となりTLEになるので解けません。
最後に残っているブロックの数はDel =ABS(赤ブロックの総数 - 白ブロックの総数)個です。
消したブロックは(N - Del)個となります。
S=input() _red,_white=0,0 for i in S: if i=='0': _red+=1 else: _white+=1 print(len(S)-abs(_red-_white))
情報技術者試験(毎日40問)
午前試験では80問出題されるようなので、毎日40問解いていけば継続できるかなと考えました。(流石に80問はしんどい・・・)
本日は29問 / 40問 = 72.5 % の正解率でした。70%は安定して超えたいですね。
Fail Safe vs Fail Soft
- Fail Safe・・・故障しても安全な側に倒す(遮断機が故障しても閉じたままにする)
- Fail Soft・・・故障しても最低限は動作させる(必要最低限の機能だけは動作するようにしておく)
- Fault Tolerant・・・故障しても表に出さない(メイン電源が死んでもサブ電源の起動など)
- Fool proof・・・利用者の不手際も想定した対策を講じる
- Fault avoidance・・・そもそも機能の故障が発生を回避する策を講じる
Spooling
「Spool」とは処理対象を一時的に置くことである。CPU(高速)と入出力装置(低速)でのデータのやり取りの際に、一旦磁気ディスク装置にデータを置いて、スループット(単位時間あたりに処理できる量)が低下しないようにすること。
White Box test vs Black Box test
White Box test ・・・モジュールの内部構造が正しく動作するかの検証。
Black Box test ・・・モジュールの内部構造を意識せず、入力に対して適切な出力が得られているかの検証。
White Box testの網羅種類
- 命令網羅・・・全ての処理を通過するフローを網羅する
- 判定条件網羅・・・全ての分岐を網羅する
- 条件網羅・・・判定条件が複数ある場合、全ての条件を網羅
- 複数条件網羅・・・想定される条件のケース(組み合わせ)を網羅する
個人的には条件網羅と判定条件網羅の判別が難しいですね。