Educational Codeforces Round 2 A. Extract Numbers
链接: http://codeforces.com/contest/600/problem/A
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
public class TaskA { public void solve(int testNumber, Scanner in, PrintWriter out) { String word = in.nextLine(); StringBuffer tmp = new StringBuffer(); StringBuffer a = new StringBuffer(); a.append('"'); StringBuffer b = new StringBuffer(); b.append('"'); String[] words = word.split(",", -1); for (String w : words) { for (String s : w.split(";", -1)) { if (isDigit(s) && (s.charAt(0) != '0' || s.equals("0"))) { a.append(s); a.append(','); } else { b.append(s); b.append(','); } } } if (a.length() == 1) { out.println('-'); } else { out.println(a.substring(0, a.length()-1)+'"'); } if (b.length() == 1) { out.println('-'); } else { out.println(b.substring(0, b.length()-1)+'"'); } } private boolean isDigit(String s) { if (s.isEmpty()) { return false; } for (Character c : s.toCharArray()) { if (!Character.isDigit(c)) { return false; } } return true; } } |
就是普通的字符串处理, 非常烦的是有很多的corner cases. 比如 test 5的 ;;;;;真是变态
Leave A Comment