Free Trial

Repositório de Desafios

Resolva o desafio, compartilhe sua solução e lidere nossa Comunidade!

Desafio #43: Quantas combinações existem no conjunto de dados?

SylviaP
Moderator
Moderator

Olá pessoal,

 

Quero agradecer imensamente a todos que postaram uma solução para o desafio da semana passada! Foi ótimo ver a criatividade de vocês pegando dados de cidades diferentes ou mesmo inovando na abordagem da solução. Obrigada @damc@cpmonteiro@Malvim!!!

 

O desafio desta semana foi inspirado em uma conversa com um de nossos usuários que quer descobrir quantas combinações de produtos ele possui dentro de um conjunto de dados. Você já passou por alguma situação em que precisou realizar algo semelhante? Que outros ajustes você faria para tornar este desafio aplicável para outras situações?

 

Os dados de entrada contêm uma lista de vinte (20) transações. Cada transação contém uma lista de itens que um determinado cliente comprou no mercado. Quantas combinações dos mesmos itens foram compradas? Nesse caso, a ordem não importa. Ou seja, a combinação de "ovos, pão, maçãs" é igual a "maçãs, ovos, pão". Dica: As combinações devem ser analisadas e contadas por transação, ou seja, se na transação #1 apareceram os itens leite e pão e na transação #4 também, isso É considerado uma combinação.

 

Estou curiosa para ver como vocês responderão a este desafio!

Malvim
Bólide

@SylviaP , confesso que não entendi muito bem a pergunta.

 

Eu já rodei aqui pelo fluxo de dados, tentando achar uma solução, mas não entendi bem se é quantidade de combinações que se repetem, se é quantidade de repetições de combinações (aí precisaria discriminar cada combinação pra contar as combinações) e se a combinação é discriminada pela quantidade de elementos nessa combinação (Se "Leite e Pão" seria diferente de "Leite, Pão e Maçãs", por exemplo)

 

Pela 'resposta a se chegar' no desafio eu fiquei mais confuso ainda. Cheguei nela mas de um jeito que não acho que seja o certo. Se conseguir conferir se é isso mesmo e me explicar o porque! haha  =P

 

 

Marcus Alvim

SylviaP
Moderator
Moderator

Olá @Malvim,

 

Então, com relação as combinações de produtos o objetivo é você identificar dentro das 20 transações quantas combinações de produtos foram feitas. Por exemplo, se café e leite aparecem em mais de uma transação, isso já pode ser contado como uma combinação, ou seja. se duas transações possuem esses dois itens você terá, portanto, duas combinações.

Acho que seu raciocínio foi certinho, mas você deu uma pequena complicada depois da utilização da primeira ferramenta Sumarizar.

Dá uma olhada nas duas alterações que fiz no seu fluxo.

 

Abraços!

 

Saqueador
Antes da primeira Sumarizar eu colocaria uma Ordenar, para ver os itens de cada transação. Daí sim, utilizaria a Sumarizar para concatenar os valores e logo em seguida outra Sumarizar para verificar os itens distintos que aparecem nas transações. BOOOM! Taí o resultado. 
damc
Bólide

Olá,

 

Estou no time do @Malvim  quanto ao entendimento da pergunta.

 

Depois de dar uma viajada em análise de cesta de compras creio que finalmente entendi o que é para fazer, considerando que cada transação é uma combinação.

 

Saqueador
desafio_43.JPG

[ ]´s

 

SylviaP
Moderator
Moderator

Poxa gente, acho que nesse caso então o erro foi meu de não deixar bem explícito o que é uma combinação. Desculpem!

Vou tentar mudar um pouquinho o enunciado para deixar mais claro.

 

Sim @damc, cada transação oferece uma combinação que deve ser comparada às demais transações. Sua solução está correta.

 

Abraços,

cpmonteiro
Bola de fogo

Olá!

 

Segue minha contribuição:

Saqueador
cpmonteiro_1-1606322446061.png

 

Em termos de ajustes, dependendo da situação seria interessante criar um Id unico para cada item para facilitar a construção de um outro ID único por combinação de itens...

 

Att,

 

Cristiano 

Malvim
Bólide

É, de fato eu não tinha entendido a pergunta!

 

Obrigado @SylviaP ! Com suas explicações e adaptações no fluxo de dados eu consegui entender certinho!

 

 

Marcus Alvim

cpmonteiro
Bola de fogo

Fomos pelo mesmo caminho @damc !

damc
Bólide

Opa! Tamo junto @cpmonteiro! 😀

Interessante esse problema e também a solução.

Saqueador
Matheus_Rodrigues_0-1626796504439.png