sweet1cris

Untitled

Feb 13th, 2018
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.91 KB | None | 0 0
  1.     public String dash(String S, int K) {
  2.         if (S.isEmpty()) {
  3.             return S;
  4.         }
  5.         int oldDash = 0;
  6.         char[] array = S.toCharArray();
  7.         for (int i = 0; i < array.length; i++) {
  8.             if (array[i] == '-') {
  9.                 oldDash++;
  10.             }
  11.         }
  12.         int realLen = array.length - oldDash;
  13.         int newDash = 0;
  14.         if (realLen % K == 0) {
  15.             newDash = realLen / K - 1;
  16.         } else {
  17.             newDash = realLen / K;
  18.         }
  19.         char[] newArray = new char[realLen + newDash];
  20.         int iOld = array.length - 1;
  21.         int count = 0;
  22.         int iNew = newArray.length - 1;
  23.         while (iNew >= 0) {
  24.             if (count == K) {
  25.                 newArray[iNew--] = '-';
  26.                 count = 0;
  27.             } else if (array[iOld] != '-') {
  28.                 newArray[iNew--] = Character.toUpperCase(array[iOld--]);
  29.                 count++;
  30.             } else {
  31.                 iOld--;
  32.             }
  33.         }
  34.         return new String(newArray);
  35.     }
  36.  
  37.     public static void main(String[] args) {
  38.         Dash d = new Dash();
  39.         System.out.println(d.dash("2-4A0r7-4K", 3));
  40.     }
Advertisement
Add Comment
Please, Sign In to add comment