JavaDSA String Problems
JavaDSA String Problems
u n T Co
Output: "RAM1995" A h
m
m Explanation: naam 3 chars hai toh poora GLuppercase use karo n ity T ec
o u
h
C m G LA
c CONSTRAINTS
C om
• 1 ≤ [Link]() ≤ 100
• name mein isirfty alphabets aur spaces e ch om
n
u ≤ 2099 T C
• 1900 ≤ year
m LA i ty ech
m G T
Co un L A
■ [Link](0, [Link](4, [Link]())).toUpperCase() + year m
ch m G
T e Co
A ch
GL i ty T e
un L A
m
m G n ity
o u
h
C m G LA
c m
Te Co
A h
GL n ity T ec
u LA
m ty
o m G
u ni
C m
c h m
T e C o
LA y c h
G i t Te
un A
o m
m GL
C
y c h
it Te
un A
om
m GL n ity
u
m
m
Co
h
n ity T ec
u LA
m G
m
Co
h
ec © Java with DSA | Practice. Build. Grow. Page 1
m
Java with DSA Java DSA • String Problems Co
ity ech
un T
A
Problem 02 m
m GL
Co
Email Username Extractor c h
[Easy] String • indexOf() • substring() Te
A c h
GL n ity Te
METHOD SIGNATURE u A
public String extractUsername(String email) om
m GL
C
ity ch
PROBLEM
un Te
Ek valid email address diyamgaya hai. Tumhe sirf '@' se pehle L A username part return karna hai.y Profile display,
wala
m G t i
greetings, ya logging ke o
liye yeh common operation hai.
C un
h m
c m
EXAMPLES Te Co
A c h
GL
Input: email="nishank2007@[Link]"
nity Te
u A
m GL ity
Output: "nishank2007"
o
Explanation: '@' index=11 → substring(0,11)
m un
C m
c h m
ty Te
Input: email="hello@[Link]" o
u ni Output: "hello" A h
C
c
GLwala part extract karo
Explanation: '@' se pehle n ity Te
u A
m
m GL n ity
CONSTRAINTS
Co m
u
c h m
ty
• email mein exactly ek '@' hoga
u ni
• 2 ≤ [Link]() ≤ 254 Te Co
A ch
m GL ty
• email always valid format mein hoga
om u ni Te
C A
ch ■ int at = [Link]('@'); return [Link](0, at);
om
m GL
C
h m
ity Tec Co
un A ch
om
m GL ity T e
C un A
h
om
m GL
T ec C
A h
GL ity T ec
un A
om
m GL i ty
C un A
ch om
m GL
Te C
A h
GL ity T ec
un LA
m
m G ity
C o un
h m
c m
Te Co
A c h
GL ity Te
un A
m
m GL
Co
c h
nity Te
u A
om
m GL i ty
un
m
m
Co
ity ch
un Te
A
m
m GL
Co
h
ec © Java with DSA | Practice. Build. Grow. Page 2
m
Java with DSA Java DSA • String Problems Co
ity ech
un T
A
Problem 03 m
m GL
Co
Username Privacy Masker c h
[Medium] String • repeat() • Privacy Logic Te
A c h
GL n ity Te
METHOD SIGNATURE u A
public String maskEmail(String email) om
m GL
C
ity ch
PROBLEM
un Te
A karna zaroori hai. Rule: username
m karte waqt username ko partially Lmask
Data privacy ke liye email display
m G ty ke pehle 3 aur
i
o baaki sab '*' se replace karo. Domain part (@...) bilkul same rahega.
aakhri 2 characters dikhao,
C un
h m
c m
EXAMPLES Te Co
A ch
GL
Input: email="nishank2007@[Link]"
nity Te
u A
m GL ity
Output: "nis*****07@[Link]"
o m+ "07"
Explanation: "nishank2007" → "nis" + 6 stars un
C m
c h m
ty Te
Input: email="abhiyank@[Link]" o
u ni h
C
LA
Output: "abi***nk@[Link]"
ity c
Explanation: "abhiyank"G
(8) → "abi"+"***"+"nk"
un Te
A
Input: email="ab@[Link]" m
m GL n ity
Co m
u
ch
Output: "ab@[Link]"
m
n ity
Explanation: T
username ≤ 5 chars → as-is returnekaro Co
u LA ch
m ty Te
o m CONSTRAINTS G
uni A
C
ch • Agar [Link]() ≤ 5 → masking mat karo
om
m GL
• Stars count = [Link]() - 5 C
h
ity ec om
• Domain part kabhi change nahi hoga
u n T C
■ split('@')m LA + suffix(2) + "@" + domain
→ username + domain. prefix(3) + "*".repeat(mid)
i ty ech
m G T
Co un L A
m
ch m G
T e Co
A ch
GL i ty T e
un L A
m
m G n ity
o u
h
C m G LA
c m
Te Co
A h
GL n ity T ec
u LA
m ty
o m G
u ni
C m
c h m
T e C o
LA y c h
G i t Te
un A
o m
m GL
C
y c h
it Te
un A
om
m GL n ity
u
m
m
Co
h
n ity T ec
u LA
m G
m
Co
h
ec © Java with DSA | Practice. Build. Grow. Page 3
m
Java with DSA Java DSA • String Problems Co
ity ech
un T
A
Problem 04 m
m GL
Co
GLA College Email Generator c h
[Easy] String • [Link]() • toLowerCase() Te
A c h
GL n ity Te
METHOD SIGNATURE u LA
m G
m
Co
public String generateEmail(String firstName, String lastName, String branch, int year)
h
PROBLEM
n ity T ec
u LA hai. Tumhe yeh email automatically
GLA University mein har student
m
m ka official email ek fixed format seGbanta
n ity generate karni
hai.
C o u
h m
c
Format: firstname.lastname_branchcode + year@[Link] (sab lowercase) m
Te Co
EXAMPLESL
A
i ty e ch
G T
Input: firstName="Abhiyank", lastName="Mishra", un branch="cs", year=25
L A
m ty
Output: "abhiyank.mishra_cs25@[Link]" o m G
u ni
C m
y c
Explanation: sab lowercase, underscore h before branch+year m
it T e C o
un Input: firstName="Priya",
L A lastName="Sharma", branch="EC", year=24
y c h
G it Te
Output: "priya.sharma_ec24@[Link]"
un A
Explanation: "EC" → lowercase "ec"
o m
m GL n ity
C u
h m
CONSTRAINTS
ec m
n ity
• firstName aur lastName sirf alphabets T Co
u • branch = 2–4 chars (case insensitive A h
m
m • 1 ≤ year ≤ 99 (2-digit admission GL year)input) n ity T ec
o u
h
C m G LA
c m
■ [Link]("%s.%s_%s%02d@[Link]", fn, ln, br, yr).toLowerCase() Co
i ty e ch om
u n T C
m LA i ty ech
m G T
Co un L A
m
ch m G
T e Co
A ch
GL i ty T e
un L A
m
m G n ity
o u
h
C m G LA
c m
Te Co
A h
GL n ity T ec
u LA
m ty
o m G
u ni
C m
c h m
T e C o
LA y c h
G i t Te
un A
o m
m GL
C
y c h
it Te
un A
om
m GL n ity
u
m
m
Co
h
n ity T ec
u LA
m G
m
Co
h
ec © Java with DSA | Practice. Build. Grow. Page 4