AtCoder Beginner Contest 157 C問題・情報技術者試験

前書き

AtCoder Beginner Contest 157 C問題を解きました!

C問題

  • 難易度:茶色
  • 時間:30分

atcoder.jp

N桁の数字で「si桁目がciである」の条件を満たしたNの最小値を出力する問題です。
1≤N≤3なので該当整数を一つずつ探索しても時間内に間に合います。これで方向性が決まりました。

si桁目に異なるciがあることはありえませんので、si桁目の数字が重複した場合は問答無用で-1を出力します。
siがそれぞれ独立している場合、1つずつ整数を探索して、各桁の数値が上記の条件を満たすかを確認していきます。

以上の条件を満たす最小値を出力してやればいいです。

import sys
N,M=map(int,input().split())
_lis=[-1]*N
_min=1000
start=10**(N-1) if N>1 else 0

for i in range(M):
  s,c=map(int,input().split())
  if _lis[s-1]>=0 and _lis[s-1]!=c:
    print(-1)
    sys.exit()
  _lis[s-1]=c

for i in range(start,10**N):
  i=str(i)
  for j,k in enumerate(_lis):
    if k!=int(i[j]) and k>=0: break
    if j==N-1: _min=min(int(i),_min)

if _min==1000: print(-1)
else: print(_min)

情報技術者試験

29 / 40 問正解。
2日分合計:60 / 80問正解(正解率:75.0%)

RAID

Straping (RAID 0

データを分割し、複数のディスクに分散して配置することで読み込み・書き込み速度を向上できる仕組み。データの使用効率は高いが、冗長性を持たないため、ディスクに障害が発生した場合、データが消失するリスクが生じる。

Mirroring (RAID 1

同じデータを2つのディスクに書き込む。よってディスクに障害が発生しても、データは消失しない。

RAID 0の高速性、RAID 1の冗長性を獲得したRAID 0+1なども存在します。
RAID 2〜6についての紹介は以下の通りです。

www.hitachi.co.jp

セキュリティ対策

UTM(Unified Threat Management)

統合脅威管理と呼ばれるセキュリティ対策の1つである。ハッキングやコンピュータウイルスの脅威から組織のネットワークを包括的に管理する手法。VPNファイアウォール、アンチスパムなどの様々な対策技術を一つのアプライアンスで処理する。

SIEM(Security Information and Event Management)

様々な機器やセキュリティのログ状況などを一元的に蓄積・管理を行い、保安上の脅威となる事象をいち早く検知・分析し、情報漏えいなどの異常を自動検出して利用者に伝達する仕組み。

WAF(Web Application Firewall)

防ぐことができない不正な攻撃からWebアプリケーションを防御するファイアウォール。防ぐことができない攻撃とはポートスキャンやミドルウェア脆弱性をついた攻撃などが挙げられる。

プロジェクト手法

ファストトラッキング

プロジェクトの工期を短縮する手法の一つで、工程が完了する前に次の工程を開始すること

クラッシング

プロジェクトの工期を短縮する手法の一つで、クリティカルパス上の工程に追加の資源を投入して予定より短い工期で完了すること