AOJ 0501
・問題リンクData Conversion
・コメント
ゴリ押しというかなんの工夫もなく実装しました.
変換表をMapを使って覚えておき、読み込んだ文字を変換表と比較して行きました.
Javaでchar型を1文字のみの入力として扱う方法が分からなかったのでString型で読み込みそれをchar型に変換できるString#charAtを使っていちいち変換するはめに・・(泣)
・ソース
import java.util.Map; import java.util.Scanner; import java.util.TreeMap; public class P0501 { static Scanner sc = new Scanner(System.in); static int n = -1; public static void solve() { Map<Character, Character> convert = new TreeMap<Character, Character>(); for (int i = 0; i < n; i++) { String before = sc.next(); String after = sc.next(); convert.put(before.charAt(0), after.charAt(0)); } int inputCnt = sc.nextInt(); char[] str = new char[inputCnt]; for (int i = 0; i < inputCnt; i++) { String s = sc.next(); str[i] = s.charAt(0); } char[] ans = new char[str.length]; for (int i = 0; i < str.length; i++) { if (convert.containsKey(str[i])) { ans[i] = convert.get(str[i]); } else { ans[i] = str[i]; } } System.out.println(ans); } public static void main(String[] args) { while (true) { n = sc.nextInt(); if (n == 0) { break; } solve(); } } }