泥庭

2013年1月27日

今週の出来事

Filed under: 未分類 — yone64 @ 5:42 PM

前回更新から一週間が経過。やっぱり平日更新は難しいですね。
ってことで、今週の出来事

MetroStyleDeveloperに参加しました

MetroStyleDeveloper#11に参加してきました。いつも会場を貸していただける「フェンリル」様に感謝。
今回のテーマは「TypeScript」。
最近話題の静的型付け機能を持つJavascript自動生成言語で、VisualStudio上でインテリセンスをバシバシ適用しながらJavascriptが書けるという優れもの。しかもECMAScript5のスーパーセットという特徴も持っているらしい。javascript特有のfunction()がわんさか出現するという記述がうまく隠蔽されていて素晴らしいです。個人的にヒットだったのは、TypeScript+ling.js。いや、これはもうC#でしょう。ってぐらい普通にLINQでした。
なお、次回からRoomMetroに改名するそうです。あそうそう、次回の予告LT&次々回の発表やります。何やろうか…。

CodeIQに挑戦しました

結城浩@CodeIQの第3問に挑戦しました。
今回はプログラムを書かずに、Excelで解きました。方針がわかればプログラムは必要ない感じでした。
ついでに第2回で書いたコードをさらしときます。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
 
namespace ConsoleApplication9
{
    class Program
    {
        static void Main(string[] args)
        {
            var lines = File.ReadLines(@"E:\DL\nick\nick.txt");
            var result = new List<List<string>>();
 
            foreach (var line in lines)
            {
                var words = line.Split('=');
 
                var group = result.FirstOrDefault(r => r.Contains(words[0]));
                if (group == null)
                {
                    group = new List<string>();
                    group.Add(words[0]);
                    result.Add(group);
                }
 
                var other = result.FirstOrDefault(r => r.Contains(words[1]));
                if (other == null)
                {
                    group.Add(words[1]);
                }
                else if (other == group)
                {
                    // 何もしない
                }
                else
                {
                    result.Remove(other);
                    group.AddRange(other);
                }
            }
 
            var q = result.Select(r => string.Join("=", r.OrderBy(w => w))).OrderBy(s => s);
            File.WriteAllLines(@"E:\DL\nick\answer.txt", q);
        }
    }
}

 

広告

コメントする »

まだコメントはありません。

RSS feed for comments on this post. TrackBack URI

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

WordPress.com で無料サイトやブログを作成.

%d人のブロガーが「いいね」をつけました。