---
# System prepended metadata

title: 'Python, kata e almorzo / Python, virtual kata y desayuno - 7ª Edición (Virtual Meetup)'
tags: [python-kata]

---

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

# Python, kata e almorzo / Python, virtual kata y desayuno - 7ª Edición (Virtual Meetup)

**¡¡ESTE DOCUMENTO SE ACTUALIZARÁ ANTES Y DURANTE EL EVENTO!!**

Hola de nuevo!

Debido a situación actual la sesión la realizaremos de manera virtual.

Y ahora más que nunca, breves instrucciones a continuación para que todo vaya fluido!

1. Nos juntaremos en la sala virtual que publicaremos minutos antes del evento.
2. Actualizaremos este documento con un primer ejercicio a realizar de https://leetcode.com/
3. Nos dividiremos en grupos de 2-3 personas para realizar el ejercicio. Uno de los participantes (driver/conductor) debe compartir pantalla mientra que el resto actuan como navegadores u observadores.
4. Resolveremos el problema en iteraciones de 10 minutos.
5. Al final cada iteración decideremos entre todos los grupos si damos finalizado el problema o continuamos iterando para refactorizar.
6. Finalizado el problema, retomaremos la reunión en la sala principal y copiaremos la solución en este documento en el espacio reservado para cada grupo.
8. Revisaremos y comentaremos soluciones de cada grupo.
9. Revisaremos soluciones de otros usuarios en Leetcode en Python, y en otros lenguajes.
10. Si queda tiempo volvemos al _Paso 2_.

Además..

1. Los grupos de 2-3 personas se reunirán en salas independientes y el conductor puede ir rotando en cada ejercicio.
1. Se puede acompañar de café, te, galletas, desayuno inglés...(recuerda teclear sin chocolate en los dedos)
1. No importa el nivel o la experiencia individual, lo importante es aprender todos de todos.
1. La reunión es informal y el objetivo es aprender pasando un buen rato!

Anteriores ediciones:
- [Primera Edición](https://hackmd.io/ZFqsaJQAQQGm8z2sPTwA3g)
- [Segunda Edición](https://hackmd.io/FO4AHdfHTASNM_1ahFn8DQ)
- [Tercera Edición](https://hackmd.io/-sF1xb0ASkC98ArsOgdItA?view)
- [Cuarta Edición](https://hackmd.io/@aindustriosa/B1cQ0DdZU)
- [Quinta Edición](https://hackmd.io/@aindustriosa/H1lc-qgG8)
- [Sexta Edición](https://hackmd.io/@aindustriosa/H1sgaq9MI)


## Datos de acceso

* URL Sala principal: https://meet.jit.si/AIndustriosa__PythonKataEAlmorzo
* Contraseña: cuarentena

## Ejercicios

* https://leetcode.com/problems/remove-all-adjacent-duplicates-in-string/
* https://leetcode.com/problems/maximum-69-number/


### Grupo 1
* Participantes: Rastersoft, Yoshua Lino
* URL Sala: https://meet.jit.si/AIndustriosa__PythonKataEAlmorzo_grupo_1

_Código:_

```python
# Work in progress
class Solution:
    def removeDuplicates(self, S: str) -> str:
        if len(S) < 2:
            return S
        while True:
            cambiado = False
            for a in (range(len(S) - 1)):
                c1 = S[a]
                c2 = S[a+1]
                if c1 == c2:
                    S = S[:a] + S[a+2:]
                    cambiado = True
                    break
            if not cambiado:
                break
        return S
```

_Código:_

```python
# Work in progress

class Solution:
    def maximum69Number (self, num: int) -> int:
        return int(str(num).replace("6", "9", 1))
```

### Grupo 2
* Participantes:        Daniel, CyberMODEm
* URL Sala: https://meet.jit.si/AIndustriosa__PythonKataEAlmorzo_grupo_2

_Código:_
```python
# Work in progress
class Solution:
    def removeDuplicates(self, S: str) -> str:
      i = 1
      while i < len(S):
        i = 1
        while i < len(S):
            i += 1 
            if S[i] == S[i+1]:
                j = i+1
                while S[i] = S[j+1]:
                    j = j+1
                S = S[:min(i-1, 0)] + S[min(j+1, len(S)):]
      return S
                
```

```python

class Solution:
    def maximum69Number (self, num: int) -> int:
        return int(str(num).replace('6', '9', 1))

```
        
### Grupo 3
* Participantes: Xurxo, Javier Lopez Pino
* URL Sala: https://meet.jit.si/AIndustriosa__PythonKataEAlmorzo_grupo_3

Alex -> "no me deja veros/hablar en vuestra sala" 

_Código:_
```python
class Solution(object):
    def removeDuplicates(self, S):
        """
        :type S: str
        :rtype: str
        """
        result = " "
        for character in S:
            if (character == result[-1]):
                result = result[:-1]
            else:
                result = result + character
        return result[1:]
        
        
class Solution(object):
    def maximum69Number (self, num):
        strNum = str (num)
        posiblesResultados = []
        for x in range (0, len(strNum)):
            tmp = strNum
            if (strNum[x] == '6'):
                tmp = strNum[:x-1] + '9' + strNum[x:]
            else:
                tmp = strNum[:x-1] + '6' + strNum[x:]
            posiblesResultados.append(tmp)
        return int(max(posiblesResultados))
            
```

### Grupo 4
* Participantes: Tomás Dias Almeida
* URL Sala: https://meet.jit.si/AIndustriosa__PythonKataEAlmorzo_grupo_4

_Código:_
```python
# work in progress
# idea: stack 
class Solution(object):
    def removeDuplicates(self, S):
        keep = [' ']
        myList = S.split()
        for c in myList:
            elem = keep.pop()
            if c != elem:
                keep.append(elem)
                keep.append(c)
        return ''.join([str(elem) for elem in keep]) 
            
```

```python
# change first 6 to 9, concat the rest
# 
class Solution(object):
    def maximum69Number (self, num):
        """
        :type num: int
        :rtype: int
        """
        result = ""
        S = str(num)
        changed = False
        for character in S:
            if character == '6' and changed == False:
                result += '9'
                changed = True
            else:
                result += character
        return result

class Solution(object):
    def maximum69Number (self, num):
        """
        :type num: int
        :rtype: int
        """
        newNum = 0
        divisor = 1000
        while (divisor != 0):
            numPosition = num // divisor
            if (numPosition == 6):
                newNum = newNum + (9*divisor) + (num%divisor)
                return newNum
            else: 
                newNum = newNum + (numPosition *divisor)
                num = (num%divisor)
                divisor = divisor // 10
        return newNum
```

## FRIKADAS


## Otros comentarios


