Algorithm/programmers
[programmers][Level1][Java] μ κ·μμ΄λ μΆμ²
youn12
2021. 3. 25. 17:43
βοΈ Algorithm.
π Solved.
1. κ°κ°μ λ¨κ³μ ν΄λΉνλ λ‘μ§μ ꡬμ±νμ¬ μ²λ¦¬
2. μ κ·μμ νμ©νλ©΄ λ κ°λ¨ν λ κ²κ°λ€.
βοΈ Code.
public String solution(String new_id) {
String answer = "";
/*
* 1. λλ¬Έμ -> μλ¬Έμ μΉν
* */
answer = new_id.toLowerCase();
/*
* 2. μλ¬Έμ, μ«μ, -, _, . λ₯Ό μ μΈν λ¬Έμ μ κ±°
* */
answer = answer.replaceAll("[^0-9a-z.\\-_]", "");
/*
* 3. .λ¬Έμ 2λ² μ°μ -> . νλλ‘ μΉν
* */
while(answer.indexOf("..") > -1){
answer = answer.replace("..", ".");
}
/*
* 4. .λ¬Έμ μ²μμ΄λ λμ μμΉν κ²½μ° μ κ±°
* */
if(answer.charAt(0) == '.') {
answer = answer.substring(1);
}
if(answer.length() > 0 && answer.charAt(answer.length()-1) == '.') {
answer = answer.substring(0, answer.length()-1);
}
/*
* 5. λΉ λ¬Έμμ΄ -> a λμ
* */
if("".equals(answer)) answer = "a";
/*
* 6. λ¬Έμμ΄μ΄ 16μ μ΄μμ΄λ©΄ 15λ¬Έμλ₯Ό μ μΈν λλ¨Έμ§ λ¬Έμ μ κ±°, μ κ±° ν . λ¬Έμκ° λ§μ§λ§ λ¬Έμλ©΄ .λ¬Έμ μ κ±°
* */
if(answer.length() >= 16){
answer = answer.substring(0, 15);
}
if(answer.length() > 0 && answer.charAt(answer.length()-1) == '.') {
answer = answer.substring(0, answer.length()-1);
}
/*
* 7. λ¬Έμμ΄μ΄ 2μ μ΄νλΌλ©΄, λ¬Έμμ΄μ λ§μ§λ§ λ¬Έμλ₯Ό κΈΈμ΄κ° 3μ λ λκΉμ§ λ°λ³΅
* */
while(answer.length() <= 2){
char c = answer.charAt(answer.length()-1);
answer += c;
}
return answer;
}