User Tag List

Resultados 1 al 5 de 5

Tema: Conoceis CodingBat? ejercicios online de programación

  1. #1

    Fecha de ingreso
    Jun 2006
    Mensajes
    4,574
    Mencionado
    41 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1,259
    Agradecer Thanks Received 
    700
    Thanked in
    Agradecido 427 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    6

    Conoceis CodingBat? ejercicios online de programación

    Estoy enganchado a esta página desde hace varios dias. Te proponen ejercicios de programación más o menos cortos en varios lenguajes (yo estoy con los de java) y luego puedes pasar tu propuesta por un juego de pruebas que ellos mismos han confeccionado para cada ejercicio.

    Me ha resultado curioso este ejercicio: http://codingbat.com/prob/p134250

    En principio no acababa de entender del todo lo que estaba pidiendo (qué raro viniendo de mí) pero luego se me encendió al bombilla e hice esto:

    Código:
    public boolean xyBalance(String str) {
      
      boolean result = true;
      
      for (int i = 0; i < str.length(); i++) {
        if (str.charAt(i) == 'x') {result = false;}
        if (str.charAt(i) == 'y') {result = true;}
      }
      
      return result;
    }

    Después miro la solución propuesta por la propia página y se me ha partido el culo cuando he visto lo rocambolesca que es. O se me ha escapado algo (cosa que dudo porque mi código ha pasado todo el juego de pruebas perfectamente) o el que propone soluciones en esta página sabe aún menos programación que yo XDDDDDDDDD:


    Código:
    public boolean xyBalance(String str) {
      // Find the rightmost y
      int y = -1;
      for (int i = 0; i < str.length(); i++) {
        if (str.charAt(i)=='y') y = i;
      }
      
      // Look at the x's, return false if one is after y
      for (int i = 0; i < str.length(); i++) {
        if (str.charAt(i)=='x' && i > y) return false;
      }
      return true;
    
      // Solution notes: this solution uses two loops, each written the simple
      // 0..length way. You could do it with a single reverse loop, noticing
      // if you see an x before a y. Or use lastIndexOf().
    }
    _
    .▲ ALABADO SEA EL TRI-FORCEPS!

    Nunca me he considerado de clase media. Soy más bien de clase calcetín roñoso.

  2. #2

    Fecha de ingreso
    Jun 2004
    Ubicación
    Vivo en el pito foro...
    Mensajes
    20,686
    Mencionado
    70 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    230
    Agradecer Thanks Received 
    742
    Thanked in
    Agradecido 466 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    28
    Me acaba de dar estres postraumatico de las entrevistas de junior/becario.

    Están entretenidos pero estos días prefiero un problema de mundo real (applicación en tiempo real, concurrencia...) a uno de algoritmia pura y dura.

  3. El siguiente usuario agradece a pakoito este mensaje:

    ^MiSaTo^ (13/01/2015)

  4. #3

    Fecha de ingreso
    Sep 2006
    Ubicación
    Malaga
    Mensajes
    7,561
    Mencionado
    47 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1,668
    Agradecer Thanks Received 
    1,922
    Thanked in
    Agradecido 1,289 veces en [ARG:2 UNDEFINED] posts
    En tu caso si le pasas la cadena vacía te devuelve que esta balanceado cuando no debería estarlo, lo mismo si la cadena solo tiene una 'y', o tiene y-es pero no tiene 'x'.
    No es lo mismo tener diez años de experiencia, que tener un año de experiencia diez veces.


    It is an undisputed truth that the Atari ST gets the best out of coders. No dedicated hardware, just the CPU and a frame buffer! Some call it Spartan, others name it Power Without The Price, and a select few say `challenge accepted'! --- by spkr from smfx

  5. #4

    Fecha de ingreso
    Jun 2006
    Mensajes
    4,574
    Mencionado
    41 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1,259
    Agradecer Thanks Received 
    700
    Thanked in
    Agradecido 427 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    6
    Cita Iniciado por swapd0 Ver mensaje
    En tu caso si le pasas la cadena vacía te devuelve que esta balanceado cuando no debería estarlo, lo mismo si la cadena solo tiene una 'y', o tiene y-es pero no tiene 'x'.
    Sí, precisamente por eso dije que me costó entender lo que pedían. Resulta que si la cadena está vacía, o solo hay una "y" o varias pero sin "x", el juego de pruebas te lo considera como balanceado. De hecho han puesto varios casos en que la función recibe una cadena vacía, o un que solo tiene una "y", etc.
    Última edición por akualung; 13/01/2015 a las 01:04
    _
    .▲ ALABADO SEA EL TRI-FORCEPS!

    Nunca me he considerado de clase media. Soy más bien de clase calcetín roñoso.

  6. #5

    Fecha de ingreso
    Apr 2006
    Ubicación
    Northlands (~Donosti)
    Mensajes
    4,867
    Mencionado
    29 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    27
    Agradecer Thanks Received 
    184
    Thanked in
    Agradecido 144 veces en [ARG:2 UNDEFINED] posts
    Yo estuve medio-enganchado una temporada a http://www.codewars.com/ pero al final raya la verdad.

    Salu2

    “I have seen things in the original DOTA that you people wouldn’t believe”. “I have seen Windrunner attack Techies off the bank of the upper river and die; I have seen heroes on fire off the shoulder of the Tree of Life. I watched spells glitter in the dark near the enemy base. All those moments are lost in battle, like… items off a courier in an AOE nuke.”

Etiquetas para este tema

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •