Skip to content

Commit 308b2c3

Browse files
#4 - Java & Python
1 parent 45d901b commit 308b2c3

File tree

2 files changed

+94
-24
lines changed

2 files changed

+94
-24
lines changed

Roadmap/04 - CADENAS DE CARACTERES/java/JesusAntonioEEscamilla.java

Lines changed: 47 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
/** #04 - Java -> Jesus Antonio Escamilla */
22

33
import java.util.Arrays;
4+
import java.util.HashSet;
5+
import java.util.Set;
46

57
public class JesusAntonioEEscamilla {
68
public static void main(String[] args) {
@@ -73,12 +75,55 @@ public static void main(String[] args) {
7375
boolean contains = str.contains("Mundo");
7476
System.out.println("Verificación-Contiene (Hola Mundo = Hola-Mundo) -> " + contains);
7577

76-
// EXTRA()
78+
EXTRA("radar", "roma");
7779
}
7880

7981
/**-----DIFICULTAD EXTRA-----*/
8082

81-
//Pendiente
83+
public static void EXTRA(String palabra1, String palabra2) {
84+
palabra1 = palabra1.toLowerCase();
85+
palabra2 = palabra2.toLowerCase();
86+
System.out.println("Palíndromo");
87+
System.out.println(palabra1 + " es un Palíndromo: " + esPalíndromo(palabra1));
88+
System.out.println(palabra2 + " es un Palíndromo: " + esPalíndromo(palabra2));
89+
90+
System.out.println("Anagrama");
91+
System.out.println(palabra1 + " y " + palabra2 + " son Anagramas: " + sonAnagramas(palabra1, palabra2));
92+
93+
System.out.println("Isograma");
94+
System.out.println(palabra1 + " es un Isograma: " + esIsograma(palabra1));
95+
System.out.println(palabra2 + " es un Isograma: " + esIsograma(palabra2));
96+
}
97+
98+
public static boolean esPalíndromo(String word){
99+
word = word.toLowerCase();
100+
String invert = new StringBuilder(word).reverse().toString();
101+
return word.equals(invert);
102+
}
103+
104+
public static boolean sonAnagramas(String word1, String word2){
105+
word1 = word1.toLowerCase();
106+
word2 = word2.toLowerCase();
107+
if(word1.length() != word2.length()){
108+
return false;
109+
}
110+
char[] array1 = word1.toCharArray();
111+
char[] array2 = word2.toCharArray();
112+
Arrays.sort(array1);
113+
Arrays.sort(array2);
114+
return Arrays.equals(array1, array2);
115+
}
116+
117+
public static boolean esIsograma(String word){
118+
Set<Character> character = new HashSet<>();
119+
for (char c : word.toCharArray()) {
120+
if (character.contains(c)) {
121+
return false;
122+
}
123+
character.add(c);
124+
}
125+
return true;
126+
}
82127

83128
/**-----DIFICULTAD EXTRA-----*/
84129
}

Roadmap/04 - CADENAS DE CARACTERES/python/JesusAntonioEEscamilla.py

Lines changed: 47 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -4,40 +4,40 @@
44
EJERCIÓ
55
"""
66
#---STRING---
7-
str = 'Hola Mundo'
8-
print(f'String -> {str}')
7+
s1 = 'Hola Mundo'
8+
print(f'String -> {s1}')
99

1010
#---SUB-CADENA---
11-
sub_str = str[5:10]
12-
print(f'Sub-Cadena -> {sub_str}')
11+
sub_s1 = s1[5:10]
12+
print(f'Sub-Cadena -> {sub_s1}')
1313

1414
#---LONGITUD---
15-
length = len(str)
15+
length = len(s1)
1616
print(f'Longitud -> {length}')
1717

1818
#---CONCATENACIÓN---
19-
str1 = 'Hola'
20-
str2 = 'Mundo'
21-
result = str1 + str2
19+
s11 = 'Hola'
20+
s12 = 'Mundo'
21+
result = s11 + s12
2222
print(f'Concatenación -> {result}')
2323

2424
#---REPETICIÓN---
25-
repeated = str * 3
25+
repeated = s1 * 3
2626
print(f'Repetición -> {repeated}')
2727

2828
#---MAYÚSCULAS Y MINÚSCULAS---
29-
upper = str.upper()
30-
lower = str.lower()
29+
upper = s1.upper()
30+
lower = s1.lower()
3131
print(f'Mayúsculas -> {upper}')
3232
print(f'Minúsculas -> {lower}')
3333

3434
#---REEMPLAZO---
35-
replaced = str.replace("Mundo", "Python")
35+
replaced = s1.replace("Mundo", "Python")
3636
print(f'Reemplazo -> {replaced}')
3737

3838
#---DIVISION---
39-
str_ = "Hola,Mundo,Python"
40-
parts = str_.split(",")
39+
s1_ = "Hola,Mundo,Python"
40+
parts = s1_.split(",")
4141
print(f'Division -> {parts}')
4242

4343
#---UNION---
@@ -47,30 +47,55 @@
4747

4848
#---INTERPOLACIÓN---
4949
nombre = "Antonio"
50-
str__ = "Hola {}".format(nombre)
51-
print(f'Interpolación -> {str__}')
50+
s1__ = "Hola {}".format(nombre)
51+
print(f'Interpolación -> {s1__}')
5252

5353
#---VERIFICACIÓN---
5454
# --IGUALDAD--
55-
str3 = "Hola Mundo"
56-
is_equal = str == str3
55+
s3 = "Hola Mundo"
56+
is_equal = s1 == s3
5757
print(f'Verificación-Igualdad (Hola Mundo == Hola Mundo) -> {is_equal}')
5858

5959
# --EMPIEZA--
60-
starts_with = str.startswith("Hola")
60+
starts_with = s1.startswith("Hola")
6161
print(f'Verificación-Empieza (Hola Mundo == Hola) -> {starts_with}')
6262

6363
# --TERMINA--
64-
ends_with = str.endswith("Mundo")
64+
ends_with = s1.endswith("Mundo")
6565
print(f'Verificación-Termina (Hola Mundo == Mundo) -> {ends_with}')
6666

6767
# --CONTIENE--
68-
contains = "Mundo" in str
68+
contains = "Mundo" in s1
6969
print(f'Verificación-Contiene (Hola Mundo == Mundo) -> {contains}')
7070

7171

7272

7373
"""
7474
EXTRA
7575
"""
76-
#Pendiente
76+
def es_palíndromo(word):
77+
word = word.lower()
78+
return word == word[::-1]
79+
80+
def son_anagramas(word1, word2):
81+
word1 = word1.lower()
82+
word2 = word2.lower()
83+
return sorted(word1) == sorted(word2)
84+
85+
def es_isograma(word):
86+
word = word.lower()
87+
return len(set(word)) == len(word)
88+
89+
def EXTRA(palabra1: str, palabra2: str):
90+
#Palíndromo
91+
print(f'{palabra1} es un Palíndromo: {es_palíndromo(palabra1)}')
92+
print(f'{palabra2} es un Palíndromo: {es_palíndromo(palabra2)}')
93+
94+
#Anagrama
95+
print(f'{palabra1} es Anagrama de {palabra2}: {son_anagramas(palabra1, palabra2)}')
96+
97+
#Isograma
98+
print(f'{palabra1} es un Isograma: {es_isograma(palabra1)}')
99+
print(f'{palabra2} es un Isograma: {es_isograma(palabra2)}')
100+
101+
EXTRA('radar', 'roma')

0 commit comments

Comments
 (0)