Problem · String

Better Compression

Learn this problem
EasyGoldman SachsINTERNNEW GRADOA

Problem statement

Consider a string, S, that is a series of characters, each followed by its frequency as an integer. The string is not compressed correctly, so there may be multiple occurrences of the same character. A properly compressed string will consist of one instance of each character in alphabetical order followed by the total count of that character within the string.

Function

betterCompression(S: String) → String

Complete the function betterCompression in the editor.

betterCompression has the following parameter:

  • S: a compressed string
  • Return

  • string: the properly compressed string
  • Examples

    Example 1

    S = "a3c9b2c1"return = "a3b2c10"
    The string 'a3c9b2c1' has two instances where 'c' is followed by a count: once with 9 occurrences, and again with 1. It should be compressed to 'a3b2c10'.

    Example 2

    S = "a12b56c1"return = "a12b56c1"
    Noting is changed because character occurred only once and they are already sorted ascending.

    Constraints

  • 1 <= size of S <= 100000
  • 'a' <= characters in S <= 'z'
  • 1 <= frequency of each character in S <= 1000
  • More Goldman Sachs problems

    drafts saved locally
    public String betterCompression(String S) {
      // write your code here
    }
    
    S"a3c9b2c1"
    expected"a3b2c10"
    checking account