package programmers; public class kakaonewID { public static void main(String[] args) { // 1ë¨ê³ new_idì 모ë ë문ì를 ëìëë ì문ìë¡ ì¹íí©ëë¤. // 2ë¨ê³ new_idìì ìíë²³ ì문ì, ì«ì, 빼기(-), ë°ì¤(_), ë§ì¹¨í(.)를 ì ì¸í 모ë 문ì를 ì ê±°í©ëë¤. // 3ë¨ê³ new_idìì ë§ì¹¨í(.)ê° 2ë² ì´ì ì°ìë ë¶ë¶ì íëì ë§ì¹¨í(.)ë¡ ì¹íí©ëë¤. // 4ë¨ê³ new_idìì ë§ì¹¨í(.)ê° ì²ìì´ë ëì ìì¹íë¤ë©´ ì ê±°í©ëë¤. // 5ë¨ê³ new_idê° ë¹ ë¬¸ìì´ì´ë¼ë©´, new_idì "a"를 ëì í©ëë¤. // 6ë¨ê³ new_idì 길ì´ê° 16ì ì´ìì´ë©´, new_idì 첫 15ê°ì 문ì를 ì ì¸í ëë¨¸ì§ ë¬¸ìë¤ì 모ë ì ê±°í©ëë¤. // ë§ì½ ì ê±° í ë§ì¹¨í(.)ê° new_idì ëì ìì¹íë¤ë©´ ëì ìì¹í ë§ì¹¨í(.) 문ì를 ì ê±°í©ëë¤. // 7ë¨ê³ new_idì 길ì´ê° 2ì ì´íë¼ë©´, new_idì ë§ì§ë§ 문ì를 new_idì 길ì´ê° 3ì´ ë ëê¹ì§ ë°ë³µí´ì ëì ë¶ì ëë¤. solution("...!@BaT#*..y.abcdefghijklm"); solution("abcdefghijklmn.p"); } public static String solution(String new_id) { // ë문ì를 ì문ìë¡ ë³ê²½ // ì ê·ìì ì¬ì©íì¬ í´ë¹ í¹ì문ì, ì문ì, ì«ì를 ì ì¸íê³ ì¶ë ¥ // []ìì ^를 ì¨ì£¼ë©´ notì´ë¼ë ìë¯¸ê° ë¨. \\ì¨ì wì¦ ìíë²³ì´ ìë 문ìì´ê³¼ -_.를 ì ì¸í 문ìì´ì 공백ì¼ë¡ ì¹í String result = new_id.toLowerCase().replaceAll("[^\\w\\-_.]", ""); // 문ìì´ì 첫ë²ì§¸ì ëìë¦¬ê° .ì´ë¼ë©´ ì ê±°. // ^ë 문ìì 첫ë²ì§¸ë¥¼ ì미íê³ |ë ì°ì°ì ì미íë©°(íì) $ë ëì ì미 result = result.replaceAll("\\.{2,}", ".").replaceAll("^[.]|[.]$", ""); // ì ê±°í í 0~15ì리ê¹ì§ ì¶ë ¥ if(result.length()>15) { result = result.substring(0, 15); } // ê²°ê³¼ê°ìì ë§ì§ë§ì .ì´ ìë¤ë©´ ì ê±° result = result.replaceAll("[.]$", ""); // ë§ì½ 공백ì´ë¼ë©´ - 결과를 ë§ì¹ê³ ë¨ë ê°ì´ ìë¤ë©´ a를 ëì if(result.equals("")) { result = "aaa"; return result; } // idê° 2ì리 ì´íë¼ë©´ 3ìë¦¬ê° ë ëê¹ì§ ì ì¼ ë·ë¬¸ìì´ì ëí¨ if(result.length()<=2) { while (result.length() < 3) { result += result.charAt(result.length()-1); } } System.err.println(result); return result; } }