Skip to content

Instantly share code, notes, and snippets.

View tiagox's full-sized avatar

Santiago Rojo tiagox

View GitHub Profile
@tiagox
tiagox / Ordenador.java
Created April 21, 2017 15:34
Implementación de QuickSort en Java
public class Ordenador {
public static void quickSort(int[] lista) {
quickSort(lista, 0, lista.length - 1);
}
private static void quickSort(int[] lista, int izquierda, int derecha) {
int pivote = lista[izquierda];
int i = izquierda;
int j = derecha;

Keybase proof

I hereby claim:

  • I am tiagox on github.
  • I am tiagox (https://keybase.io/tiagox) on keybase.
  • I have a public key whose fingerprint is CFC3 8377 479E 8345 5DA8 DFC5 B221 5FA5 6F3E 6525

To claim this, I am signing this object:

public class Avion {
private int filas;
private int columnas;
private boolean[][] asientos;
public Avion(int filas, int columnas) {
this.filas = filas;
this.columnas = columnas;
asientos = new boolean[filas][columnas];

Se recibe una lista de deportistas premiados con indicación de campeonato y año del premio. Como resultado se debe devolver una lista ordenada por año y para cada año todos los deportistas premiados y el campeonato ganado. Por ejemplo, si la lista que se recibe es:

[("Gabriela Sabatini", 1990, "Individual F US Open"), ("Gabriela Sabatini", 1988, "Dobles F US Open"), ("Steffi Graf", 1988, "Dobles F US Open"), ("Gabriela Sabatini", 1991, "Dobles F Wimbledon"), ("Steffi Graf", 1991, "Dobles F Wimbledon")]

el resultado debe ser:

[(1988, [("Steffi Graf", "Dobles F US Open"), ("Gabriela Sabatini", "Dobles F US Open")]), (1990, [("Gabriela Sabatini", "Individual F US Open")]), (1991, [("Steffi Graf", "Wimbledon"), ("Gabriela Sabatini", "Dobles F Wimbledon")])]

Patrones de diseño

Solución genérica a un problema recurrente

Los patrones de diseños pueden estar relacionados entre sí.

Si no hay problema, no hace falta usar un patrón. Evitar inventar el problema para poder usar un patrón.

Antipatrón: un solución que parece resolver un problema, pero es todo lo contrario.

Patrón Singleton

Patrón Adapter

Patrón Composite

@tiagox
tiagox / Carreras_y_alumnos_en_Python.md
Last active September 23, 2018 15:06
Ejercicio de ejemplo de la materia Estructura de Datos.

Se tiene un diccionario carreras que tiene como clave el nombre de una carrera y como contenido una lista de materias. Por ejemplo, podemos tener:

carreras = {
    “música”: [“historia”, “piano 1”, “piano 2”, “guitarra”, “composición”],
    “pintura”: [“historia”, “dibujo 1”, “dibujo 2”, “pintura 1”, “pintura 2”] 
}

Se tiene también un diccionario alumnos, cuya clave es el legajo y como datos una tupla con nombre, lista de carreras en las que está inscripto y un diccionario con clave nombre de la materia y lista de notas (puede aparecer más de una nota solamente si el alumno no aprobó la materia la primera vez). Por ejemplo:

import csv
import pickle
def calcular_cuotas(archivo_entrada, archivo_salida, valor_cuota):
''' Ejercicio 1 '''
with open(archivo_entrada, 'r') as entrada, open(archivo_salida, 'w') as salida:
escritor = csv.writer(salida, quoting=csv.QUOTE_NONNUMERIC)
escritor.writerow(["Nombre", "Nro de Socio", "Categoría",