---
# System prepended metadata

title: 'Python, kata e almorzo / Python, kata y desayuno - 6ª Edición'
tags: [python-kata]

---

###### tags `python-kata`

# Python, kata e almorzo / Python, kata y desayuno - 6ª Edición

Hola!

Breves instrucciones a continuación para que todo vaya fluido!

1. Nos juntaremos en grupos de 2-3 personas
1. Elegiremos conjuntamente y al "azar" un ejercicio de https://leetcode.com/ o https://www.hackerrank.com/
1. Resolveremos el problema en iteraciones de 10 minutos.
1. Al final cada iteración decideremos entre todos los grupos si damos finalizado el problema o continuamos iterando para refactorizar u optimizar.
1. Finalizado el problema, copiaremos la solución en este documento en el espacio reservado para cada grupo.
1. Revisaremos y comentaremos soluciones de cada grupo.
1. Revisaremos soluciones de otros usuarios en Leetcode o Hackerank en Python, y en otros lenguajes.
1. Si queda tiempo volvemos al _Paso 2_.

Además..

1. No es necesario que todo el mundo traiga portatil (1 de cada 2 o 3 es suficiente) ni es necesario instalar nada.
1. Se puede acompañar de café, te, galletas, desayuno inglés...(recuerda teclear sin chocolate en los dedos)
2. No importa el nivel o la experiencia individual, lo importante es aprender todos de todos.
3. La reunión es informal y el objetivo es aprender pasando un buen rato!

Anteriores ediciones:
- [https://github.com/aindustriosa/python-kata-e-almorzo](https://github.com/aindustriosa/python-kata-e-almorzo)


## Ejercicios: 

* https://leetcode.com/problems/climbing-stairs/

### Grupo 1 - Componentes:

Dani
Alex

_Código:_

```python
import itertools

class Solution:
    def climbStairs(self, n: int) -> int:
        unos = n
        doses = 0
        resultado = 0
        while True:
            elementos = "1" * unos + "2" * doses
            resultado += len(set(itertools.permutations(elementos)))
            if unos >=2:
                unos -= 2
                doses += 1
            else:
                return resultado
```

### Grupo 2 - Componentes:
Alberto et Xurxo
_Código:_
```python
class Solution:
    
    def recursive (self, left):
        # print(left)
        if left==[]:
            self.contador+=1 
            return
        for i in [1,2]:
            if i<=len(left):
                self.recursive(left[i:])
    def climbStairs(self, n: int) -> int:
        self.contador =0    
        self.recursive([1 for _ in range(n)])
        return self.recursive


solucion:
1 -> 1
2 -> 2
3 -> 3
4 -> 5
5 -> 8
6 -> 13
7 -> 21

asi que 
f(n) -> f(n-1) + f(n-2)
f(1) -> 1
f(2) -> 2
```


### Grupo 3 - Componentes:
Javi Franco
Jhon
Mireia

_Código:_
```python

N = 6

_min=int(math.floor(N / 2.0) + 1)
print("min", _min)

res=0
for x in range(0, _min, 1):
	print(x, res)
	res = res + (N - x)

print(res)
#  n - 0 + (n - 1) + (n - 2)

```
