応用情報技術者試験に合格しました!

お久しぶりです。わいんです。

 

今日、春に受験した応用情報技術者試験(AP)の合格発表がありました。

無事に合格していました!

点数は午前が70点、午後が69点でした。

午後は必須の情報セキュリティと、プログラミング、データベース、組込みシステム開発、プロジェクトマネジメントを選択しました。

プログラミングは競プロの知識のおかげ、データベースは業務のおかげでいい感じに解けたのが勝因だと思います。

 

実は、基本情報技術者試験は受験したことがなく、いきなりAPを受験しました。

結構な賭けだったのですが、今回はいい結果に終わってよかったと思います。

久しぶりに目標を立てて勉強し達成できたというのが一番嬉しかったですね。

 

勉強に使った書籍を紹介します。

1冊目はこちらです。

book.impress.co.jp

解説がとてもわかりやすく、値段も安いです。

午後問は、選択予定の問題に絞って解いていました。

 

2冊目は、古本屋で見つけたこれです。

絶対合格! 応用情報技術者 2011-2012年版 | 西俊明, 松井忠, 福永圭佑, 元谷薫, 山西顕裕, 鎌田浩一 |本 | 通販 | Amazon

まあまあでしたが、ちゃんと受験の年に合ったものを買うことをお勧めします。

 

仕事の休憩時間にやっていたのはこのアプリです。

応用情報処理 過去問

応用情報処理 過去問

  • 株式会社龍野情報システム
  • 教育
  • 無料

 出題順を不正解が多い順などに変更できる点、正解率をぱっと見でわかるようになっているところがすごく好きです。

午前問対策はこればっかりでした。これでわからないところがあったら1冊目の本の解説を読んでいました。

 

4月の受験から合格発表まで、なんの勉強もしていなかったので、また資格勉強を始めようと思っています。

・Python3エンジニア認定基礎試験

データベーススペシャリスト

この二つは絶対とりたい!

 

ちょっと興味があるもの

LPIC

・統計検定

これは機会があったら、ですかね。

Codeforces Round #363 Div.1 A. / Div.2 C. Vacations

*問題文
Problem - C - Codeforces

*入力
n
a_1, a_2, …, a_n

*概要
i 日目のジムのオープン状況とコンテストの開催状況が、配列aで与えられる。

a_i ジム コンテスト その日の選択肢
0 × × 休む
1 × 休む or コンテスト
2 × 休む or ジム
3 休む or コンテスト or ジム

2日連続でジムへ行く、2日連続でコンテストに参加することはできない。
休む日は最小にしたい。

*解法
DPで解ける。
dp [ i日目に] [ jを選んだとき]  := i日目までに休む日の最小値

j=0 は 休む
j=1 は コンテスト
j=2 は ジム

*出力
n日目までに休む日の最小値。
つまり
dp [ n ] [ 0 ],dp [ n ] [ 1 ],dp [ n ] [ 2 ] のうちの最小値。

ソースコード

n = int(input())
a = list(map(int,input().split()))

dp = [[10**10] * 3 for i in range(n+1)]
dp[0][0] = 0
dp[0][1] = 0
dp[0][2] = 0

for i in range(1, n+1):
    if a[i-1] == 0:
        dp[i][0] = min(dp[i-1][0], dp[i-1][1], dp[i-1][2]) + 1
    elif a[i-1] == 1:
        dp[i][0] = min(dp[i-1][0], dp[i-1][1], dp[i-1][2]) + 1
        dp[i][1] = min(dp[i-1][0], dp[i-1][2])
    elif a[i-1] == 2:
        dp[i][0] = min(dp[i-1][0], dp[i-1][1], dp[i-1][2]) + 1
        dp[i][2] = min(dp[i-1][0], dp[i-1][1])
    else:
        dp[i][0] = min(dp[i-1][0], dp[i-1][1], dp[i-1][2]) + 1
        dp[i][1] = min(dp[i-1][0], dp[i-1][2])
        dp[i][2] = min(dp[i-1][0], dp[i-1][1])

print(min(dp[n][0], dp[n][1], dp[n][2]))

初めての

こんにちは。わいんです。

 

このブログでは主に競技プログラミングに関することを書いていくことになると思います。

気が向いたら、競技以外のことも書くかもしれません。

 

よろしくお願いします。

 

【近況】

 

このようなツイートをしたところ、@kenkoooo さんからICFP-PCに一緒に出ませんかとお声掛けいただき参加することにしました。

現時点でのチームメンバーは、@kenkoooo さん、@roiti46 さん、私です。まだ増える予定です。

 

ICFP-PCというコンテストは、なんでもありなコンテストらしいですがまだよくわかっていません。

自分にできることがあるのかわからないのですが、足を引っ張らないように頑張りたいです。