FastPrepBetter Compression

Better Compression

Goldman Sachs logoGoldman Sachs● EasyINTERNNEW GRADOA
Learn

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

See Goldman Sachs hiring insights
public String betterCompression(String S) {
  // write your code here
}
S"a3c9b2c1"
expected"a3b2c10"
Checking account…