読書会で出てきたわからなかった言葉
アジャイルソフトウェア開発手法の多くは、反復 (イテレーション) と呼ばれる短い期間単位を採用することで、リスクを最小化しようとしている。 1つの反復の期間は、プロジェクトごとに異なるが、1週間から4週間くらいであることが多い。(by wiki)
- ペルソナ
リアルなユーザー像ペルソナ/シナリオ方というのがある
タスク管理のツール(redmineのようなものかなと感じた)
- ベロシティ
Velocityとは、1スプリントでチームが開発できる開発規模(ストーリーポイント)を表している。未読だけど、良さそうなサイト
アジャイルサムライ読書会(第1章から第7章)
社内の読書会に参加してます
- 作者: Jonathan Rasmusson,西村直人,角谷信太郎,近藤修平,角掛拓未
- 出版社/メーカー: オーム社
- 発売日: 2011/07/16
- メディア: 単行本(ソフトカバー)
- 購入: 42人 クリック: 1,991回
- この商品を含むブログ (257件) を見る
014Integral
提出した結果はRuntimeError
013ができて、014がダメな理由はわからないが、値は合っています。
package levelZero; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Integral { /** * @param args * @throws IOException * @throws NumberFormatException */ public static void main(String[] args) throws IOException { InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); String buf; while (!"".equals(buf = br.readLine())) { int num = Integer.parseInt(buf); int sum = 0; for (int i = 1; i * num <= 600 - num; i++) { sum = sum + num * i * num * i * num; } System.out.println(sum); } } }
013Switching Railroad Cars
提出した結果はAccept
package levelZero; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; public class SwitchingRailroadCars { /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { List<String> numList = new ArrayList<String>(); InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); String buf; while(!"".equals(buf = br.readLine())){ numList.add(buf); } while (!numList.isEmpty()) { for (int i = 0; i < numList.size(); i++) { if ("0".equals(numList.get(i))) { System.out.println(numList.get(i - 1)); numList.remove(i); numList.remove(i - 1); break; } } } br.close(); } }
その他:Suffix Arrayについて
資料:http://www.hgc.jp/~tshibuya/classes/shibuya20040629.pdf
資料:http://sary.sourceforge.net/docs/suffix-array.html.ja
文字を接尾語で分割し、辞書順に並べることで検索したい文字を探すことを効率的に行える。
例:sakurasaku
1.sakurasaku
2.akurasaku
3.kurasaku
4.urasaku
5.rasaku
6.asaku
7.saku
8.aku
9.ku
10.u
これを辞書順に並べると
8.aku
2.akurasaku
6.asaku
9.ku
3.kurasaku
5.rasaku
7.saku
1.sakura
10.u
4.urasaku
となる。
ここで、「aku」という単語を検索した場合、indexの8と2に含まれていることがわかり、
2から8の間で2分探索する。
2
3
4
5←スタート
6
7
8
この仕組により、早く検索することができる