โ๏ธ 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;
}
'Algorithm > programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[programmers][Level2][Java] ๋ค๋ฆฌ๋ฅผ ์ง๋๋ ํธ๋ญ (0) | 2021.03.17 |
---|