Compressió. X84733


Statement
 

pdf   zip

html

Feu un programa tal que, donada una seqüència al canal d’entrada amb almenys dos elements composta per nombres naturals, i que acaba amb un zero (que marca el final de seqüència), escrigui pel canal de sortida la compressió de la seqüència.

La compressió d’una seqüència consisteix en dir la mida i l’element que composa cada subseqüència d’elements iguals consecutius. Per exemple, donada la seqüència:

[5, 5, 5, 5, 5, 5, 5, 5, 4, 4, 1, 2, 4, 4, 4, 0]

la compressió d’aquesta seqüència és:

( 5 : 8 ) ( 4 : 2 ) ( 1 : 1 ) ( 2 : 1 ) ( 4 : 3 )

ja que:

[5, 5, 5, 5, 5, 5, 5, 58, 4, 42, 11, 21, 4, 4, 43, 0]

Entrada

Una seqüència de naturals amb almenys dos elements, que acaba en zero.

Sortida

La compressió de la seqüència.

Public test cases
  • Input

    5 
    5 
    5 
    5 
    5 
    5 
    5 
    5 
    4 
    4 
    1 
    2 
    4 
    4 
    4 
    0
    

    Output

    ( 5 : 8 ) 
    ( 4 : 2 ) 
    ( 1 : 1 ) 
    ( 2 : 1 ) 
    ( 4 : 3 ) 
    
  • Input

    5 
    5 
    2 
    5 
    5 
    2 
    5 
    5 
    5 
    4 
    1 
    2 
    2 
    4 
    3 
    0
    

    Output

    ( 5 : 2 ) 
    ( 2 : 1 ) 
    ( 5 : 2 ) 
    ( 2 : 1 ) 
    ( 5 : 3 ) 
    ( 4 : 1 ) 
    ( 1 : 1 ) 
    ( 2 : 2 ) 
    ( 4 : 1 ) 
    ( 3 : 1 ) 
    
  • Information
    Author
    Jaume Baixeries
    Language
    Catalan
    Official solutions
    Python
    User solutions
    Python