Advertisement
Guest User

Untitled

a guest
Feb 20th, 2019
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.47 KB | None | 0 0
  1. package main;
  2.  
  3. import java.util.*;
  4.  
  5. public class B {
  6.  
  7.     private ArrayList<String> firsts;
  8.     private ArrayList<String> seconds;
  9.  
  10.     public B() {
  11.         firsts = new ArrayList<String>(1000);
  12.         seconds = new ArrayList<String>(1000);
  13.         getInput();
  14.     }
  15.  
  16.     private void getInput() {
  17.         Scanner sc = new Scanner(System.in);
  18.         String first = sc.nextLine();
  19.         String second = null;
  20.         while (!first.equals("THEEND")) {
  21.             second = sc.nextLine();
  22.             firsts.add(first);
  23.             seconds.add(second);
  24.             first = sc.nextLine();
  25.         }
  26.         sc.close();
  27.     }
  28.  
  29.     public static void main(String[] args) {
  30.         B b = new B();
  31.         b.solveEverything();
  32.     }
  33.  
  34.     private void solveEverything() {
  35.         for (int i = 0; i < firsts.size(); i++) {
  36.             solve(firsts.get(i), seconds.get(i));
  37.         }
  38.     }
  39.  
  40.     private void solve(String first, String second) {
  41.         int segmentTotal = second.length()/first.length();
  42.         StringBuilder[] segments = new StringBuilder[segmentTotal];
  43.        
  44.         for(int i = 0; i < segmentTotal; i++){
  45.             segments[i] = new StringBuilder(first);
  46.         }
  47.        
  48.         int sCharCounter = 0;
  49.        
  50.         for(char c = 'A'; c <= 'Z'; c++){
  51.             int loc = first.indexOf(c);
  52.             while(loc != -1){
  53.                 for(int i = 0; i < segmentTotal; i++){
  54.                     segments[i].setCharAt(loc, second.charAt(sCharCounter++));
  55.                 }
  56.                 loc = first.indexOf(c, loc+1);
  57.             }
  58.            
  59.         }
  60.         StringBuilder answer = new StringBuilder("");
  61.         for(int i = 0; i < segmentTotal; i++){
  62.             answer.append(segments[i]);
  63.         }
  64.         System.out.println(answer.toString());
  65.     }
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement