Source code for submission s508

Go to diff to previous submission

Fs.java

  1. import java.io.BufferedReader;
  2. import java.io.File;
  3. import java.io.FileNotFoundException;
  4. import java.io.FileReader;
  5. import java.io.InputStreamReader;
  6. import java.util.*;
  7.  
  8.  
  9.  
  10. public class Fs {
  11.  
  12. private static Map<Character, String> morse = new HashMap<Character, String>();
  13.  
  14. private static void initializeMorse() {
  15. morse.put('A', ".-");
  16. morse.put('B', "-...");
  17. morse.put('C', "-.-.");
  18. morse.put('D', "-..");
  19. morse.put('E', ".");
  20. morse.put('F', "..-.");
  21. morse.put('G', "--.");
  22. morse.put('H', "....");
  23. morse.put('I', "..");
  24. morse.put('J', ".---");
  25. morse.put('K', "-.-");
  26. morse.put('L', ".-..");
  27. morse.put('M', "--");
  28. morse.put('N', "-.");
  29. morse.put('O', "---");
  30. morse.put('P', ".--.");
  31. morse.put('Q', "--.-");
  32. morse.put('R', ".-.");
  33. morse.put('S', "...");
  34. morse.put('T', "-");
  35. morse.put('U', "..-");
  36. morse.put('V', "...-");
  37. morse.put('W', ".--");
  38. morse.put('X', "-..-");
  39. morse.put('Y', "-.--");
  40. morse.put('Z', "--..");
  41. morse.put('_', "..--");
  42. morse.put(',', ".-.-");
  43. morse.put('.', "---.");
  44. morse.put('?', "----");
  45. }
  46.  
  47. public static void main(String[] args) throws FileNotFoundException {
  48.  
  49. initializeMorse();
  50.  
  51. //Scanner sc = new Scanner(new BufferedReader(new InputStreamReader(System.in)));
  52. Scanner sc = new Scanner(new BufferedReader(new FileReader(new File("in.txt"))));
  53.  
  54. while (sc.hasNextLine()) {
  55.  
  56. String s = sc.next();
  57. sc.nextLine();
  58.  
  59. StringBuilder sb = new StringBuilder();
  60. ArrayList<Integer> numbers = new ArrayList<Integer>();
  61.  
  62. for (char c : s.toCharArray()) {
  63. String code = morse.get(c);
  64. sb.append(code);
  65. numbers.add(code.length());
  66. }
  67.  
  68. Collections.reverse(numbers);
  69. StringBuilder result = new StringBuilder();
  70.  
  71. int i = 0;
  72. for (int x : numbers) {
  73. String cut = sb.substring(i, i+x);
  74. result.append(findKey(cut));
  75. i += x;
  76. }
  77.  
  78. System.out.println(result);
  79.  
  80. }
  81.  
  82. }
  83.  
  84. private static char findKey(String cut) {
  85. for(Map.Entry<Character, String> en : morse.entrySet()) {
  86. if (en.getValue().equals(cut)) {
  87. return en.getKey();
  88. }
  89. }
  90.  
  91. }
  92. }
  93.  

Diff to submission s496

Fs.java

--- c5.s496.cteam054.fs.java.0.Fs.java
+++ c5.s508.cteam054.fs.java.0.Fs.java
@@ -52,7 +52,8 @@
                 Scanner sc = new Scanner(new BufferedReader(new FileReader(new File("in.txt"))));
                 
-                while (sc.hasNext()) {
+                while (sc.hasNextLine()) {
                         
                         String s = sc.next();
+                        sc.nextLine();
                         
                         StringBuilder sb = new StringBuilder();