Codificación de una esencia en Pig Latin

Diseñe un programa para tomar una oración como entrada y luego codifíquela en Pig Latin. 
 

Un Pig Latin es una palabra encriptada en inglés, generada colocando la primera letra de cada palabra al final y luego agregando «ay» al final.

Ejemplos:

Entrada: s = «no importa que los tengas»
Salida: «evermindnay ouveyay otgay hemtay»

Entrada: s = «sally sabe mejor»
Salida: «allysay nowskay estbay»

 

Enfoque: El problema se puede resolver recorriendo la oración y haciendo los cambios palabra por palabra, de la siguiente manera:

  1. Encuentra el índice de la primera letra de la palabra.
  2. Cree un Pig Latin agregando los siguientes pasos:
    • Agregue la primera letra al final de la substring de la palabra.
    • Agregue «ay» después de agregar la primera letra.
  3. Continúe con los pasos anteriores hasta la última palabra de la string.

A continuación se muestra el programa Java para implementar el enfoque:

C++

#include <bits/stdc++.h>
using namespace std;
 
string pigLatinSentence(string s){
  string ans = "";
  for (int i = 0; i < s.length(); i++) {
    int j = i;
    if (i >= s.length())
      break;
    while (i < s.length() && s[i] != ' ')
      i++;
    if (ans.length() == 0) {
      ans.append(s.substr(j + 1,  i - j - 1) + s[j] + "ay");
    }
    else {
      ans.append(" " + s.substr(j + 1,  i - j - 1) + s[j] + "ay");
    }
  }
  return ans;
}
 
// Driver code
int main() {
 
  string s = "sally knows best";
  cout << (pigLatinSentence(s));
  return 0;
}
 
// This code is contributed by hrithikgarg03188.

Java

// Java program to implement
// the above approach
import java.io.*;
 
class GFG {
 
    public static String pigLatinSentence(String s)
    {
        String ans = "";
        for (int i = 0; i < s.length(); i++) {
            int j = i;
            if (i >= s.length())
                break;
            while (i < s.length() && s.charAt(i) != ' ')
                i++;
            if (ans.isEmpty()) {
                ans = ans.concat(
                    s.substring(j + 1, i)
                    + s.charAt(j) + "ay");
            }
            else {
                ans = ans.concat(
                    " " + s.substring(j + 1, i)
                    + s.charAt(j) + "ay");
            }
        }
        return ans;
    }
 
    // Driver code
    public static void main(String[] args)
    {
        String s = "sally knows best";
        System.out.println(pigLatinSentence(s));
    }
}

Python3

# Python program to implement
# the above approach
def pigLatinSentence(s):
    ans = "";
    i =0;
    for i1 in range(len(s)):
        j = i;
        if (i >= len(s)):
            break;
        while (i < len(s) and s[i] != " "):
            i += 1;
        if (len(ans) == 0):
            ans = s[j + 1: i] + str(s[j:j+1]) + "ay";
        else:
            ans += " " + s[j + 1: i] + str(s[j:j+1]) + "ay";
        i += 1;
 
    return ans;
 
# Driver code
if __name__ == '__main__':
    s = "sally knows best";
    print(pigLatinSentence(s));
 
# This code is contributed by 29AjayKumar

C#

// C# program to implement
// the above approach
using System;
 
class GFG {
 
    public static string pigLatinSentence(string s)
    {
        string ans = "";
        for (int i = 0; i < s.Length; i++) {
            int j = i;
            if (i >= s.Length)
                break;
            while (i < s.Length && s[i] != ' ')
                i++;
            if (ans.Length == 0) {
                ans = ans + s.Substring(j + 1, i - j - 1)
                      + s[j] + "ay";
            }
            else {
                ans = ans + " "
                      + s.Substring(j + 1, i - j - 1) + s[j]
                      + "ay";
            }
        }
        return ans;
    }
 
    // Driver code
    public static void Main(string[] args)
    {
        string s = "sally knows best";
        Console.WriteLine(pigLatinSentence(s));
    }
}
 
// This code is contributed by ukasp.

Javascript

<script>
    // JavaScript program to implement
    // the above approach
 
    const pigLatinSentence = (s) => {
        let ans = "";
        for (let i = 0; i < s.length; i++) {
            let j = i;
            if (i >= s.length)
                break;
            while (i < s.length && s.charAt(i) != ' ')
                i++;
            if (ans.length === 0) {
                ans = ans + s.substring(j + 1, i) + s.charAt(j) + "ay";
            }
            else {
                ans = ans + " " + s.substring(j + 1, i) + s.charAt(j) + "ay";
            }
        }
        return ans;
    }
 
    // Driver code
 
    let s = "sally knows best";
    document.write(pigLatinSentence(s));
 
    // This code is contributed by rakeshsahni
 
</script>
Producción: 

allysay nowskay estbay

 

Complejidad de tiempo: O(N), donde N es la longitud de la oración 
Espacio auxiliar: O(N)

Publicación traducida automáticamente

Artículo escrito por souravc399 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *