SRM604 Div2 easyをPythonで解いてみた
今回も本番のSRMには参加しなかったです。
ということで、Python歴0秒の私がeasyを解いてみました。 (えっ?
ざっくりと問題の内容を説明すると、
- 複数の文字列が与えられます
- その中の文字列1つに対して任意の場所で二分割にします
- 二分割にした文字を前後入れ替えて連結します
- 生成した文字列が与えられた他の文字列と等しいかどうか確認
- ↑の操作で等しくなるペアの合計を返します
説明不足かも知れませんが、こんな感じでしょうか。
自分の書いたコードは以下の通り。
Pythonのタプルとかfor文の書き方がわからなかったので、調べつつ書きました。
処理自体は普通に3重のfor文で判定してるだけですね。
とりあえず解いてみただけのコードなのでもうちょっとスマートに書く方法があるはず...
Pythonらしいコードを書けるようになりたいですねー。
今後も練習としてPythonで解いてみようと思います。
AndroidAnnotations導入方法
Androidをネイティブコードで開発しようとすると、何かと面倒で作りづらいと感じることが多いと思います。
そんな時にはAndroidAnnotationsの出番です。
今回は、eclipseを対象とした導入方法をご紹介します。
まず、github上のサイトからAndroidAnnotations3.0をダウンロードしましょう。
落としたファイルを解凍して中身を見てみると、
こんな感じになっていると思います。(今回は上の2つだけ使います)
適用したいプロジェクトの直下に適当な名前のフォルダ(compile-libsとします)を作り、
先ほどの2つのjarファイルを以下のように配置します。
libsのフォルダは元々あるので、そちらにapiを名前に含むjarファイルを置きます。
続いてeclipse側での設定です。
プロジェクトのプロパティからJavaコンパイラーの項目を開きます。
コンパイラ準拠レベルが 1.6 となっていることを確認しましょう。
1.6でない場合は1.6に変更します。
「プロジェクト固有の設定を可能にする」にチェックをつけます。
次に、注釈処理内のファクトリー・パスの項目を開きます。
「プロジェクト固有の設定を可能にする」の項目にチェックがついていない場合はチェックをつけます。その後、「Jar追加」から先ほどcompile-libs内の配置したjarファイルを選んで追加します。
Jarファイルが追加されたことを確認して、右下の適用を押して一旦プロジェクトをビルドしましょう。
フォルダやファイルが見つからない場合は、一度プロジェクトをリフレッシュしてみると、見つかるようになるかもしれないです。
最後に、プロパティのJavaのビルド・パスの項目のライブラリーを開きます。
先ほどと同じように、「Jar追加」からlibs内に置いたjarファイルを追加して導入完了です。
プロジェクト内の適当なjavaファイルを開いて、「@E」と押してコンテンツ・アシストしたときに「@EActivity」や「@EBean」などの候補があればOKです。
次回以降は「@EActivity」などのアノテーションの使い方について解説しようと思います。
息抜きにSRM 603 Div2 easyを解いてみた。
本番は参加しませんでしたけど、翌日に解いてみました。
使用した言語はJava(これしか使えない)
問題文はこちらから。
簡単に説明すると、
- Stringの文字列 s が与えられます
- 返す文字列を t とします
- sの長さが奇数だったら、sの真ん中の文字をtの末尾に追加します。
- 偶数だったらsの中央の2つの文字を比較して、アルファベット順で若い方をtの末尾に追加します。
- tの末尾に追加した文字をsから削除します
- sの長さが0になるまで上記の操作を繰り返し、tを返します
こんな感じですね。
自分が解いた結果は以下の通り。
ちょっとカッコつけようと3項演算子を使った結果、ただ単にわかりにくいだけのコードに...
もうちょっとスマートに書けないかなー。