MIMEっていう聞いたことがある(しかし理解してない)ものをどうこうして(?)ファイルタイプを調べるゲーム。
ファイル名 → 拡張子get → 拡張子からMIMEget
という流れ。
ちなみにHashtableを初めて使った。
ArrayとListとArraylistがあれば十分だと思ってた。
Hashtable…なんというか、ちょっと便利。
using System; using System.Linq; using System.IO; using System.Text; using System.Collections; using System.Collections.Generic; /** * Auto-generated code below aims at helping you parse * the standard input according to the problem statement. **/ class Solution { static void Main(string[] args) { int N = int.Parse(Console.ReadLine()); // Number of elements which make up the association table. int Q = int.Parse(Console.ReadLine()); // Number Q of file names to be analyzed. Console.Error.WriteLine("N:"+N); //要素数 Console.Error.WriteLine("Q:"+Q); //ファイル数 Hashtable ext_mt = new Hashtable(); //拡張子とMIMEのハッシュテーブル for (int i = 0; i < N; i++) { string[] inputs = Console.ReadLine().Split(' '); string EXT = inputs[0].ToLower(); // file extension string MT = inputs[1]; // MIME type. Console.Error.WriteLine("EXT MT : {0} {1}",EXT,MT); ext_mt.Add(EXT,MT); //ハッシュテーブルに拡張子とMIMEを追加 } for (int i = 0; i < Q; i++) { string FNAME = Console.ReadLine(); // One file name per line. string[] fs = FNAME.Split('.'); //ファイル名を'.'で分割 string fext = fs[fs.Length-1].ToLower(); //拡張子を小文字化して取得 //ファイル名と拡張子がそろっているか、拡張子はhashtableに存在するか if(fs.Length >= 2 && ext_mt.ContainsKey(fext)) { Console.WriteLine(ext_mt[fext]); //MIMEを出力 } else { Console.WriteLine("UNKNOWN"); //ない場合 } } // Write an action using Console.WriteLine() // To debug: Console.Error.WriteLine("Debug messages..."); //Console.WriteLine("UNKNOWN"); // For each of the Q filenames, display on a line the corresponding MIME type. If there is no corresponding type, then display UNKNOWN. } }
未開封 レゴ ミニフィギュア シリーズ2 パントマイマー (8684 LEGO Minifigure Series2)
- 出版社/メーカー: レゴ
- メディア: おもちゃ&ホビー
- この商品を含むブログを見る