문제 풀이
import org.junit.Assert; import org.junit.Test; public class Solution { public String solution(String new_id) { // new_id의 모든 대문자를 대응되는 소문자로 치환한다. String answer = new_id.toLowerCase(); // newId에서 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.)를 제외한 모든 문자를 제거합니다. // 정규식 [] : 문자의 집합이나 범위([a-z] : a부터 z까지, [^a-z] : a부터 z가 아닌것) // -_.와 a부터 z까지, 0부터 9가 아닌것은 제거 answer = answer.replaceAll("[^-_.a-z0-9]", ""); // .이 2개 이상인 경우 .으로 변경 answer = answer.replaceAll("[.]{2,}", "."); // 끝^ 문자가 .이고 처음$문자가 .인 것 제거 answer = answer.replaceAll("^[.]|[.]$", ""); // 빈 문자열이라면 a를 추가한다. if(answer.equals("")) { answer += "a"; } // 16자 이상인 경우 15자 까지만 표시하고 모두 지웁니다. if(answer.length() >= 16) { answer = answer.substring(0,15); // 지우고 난 뒤 앞과 뒤에 .이 있을 수 있으므로 제거 answer = answer.replaceAll("^[.]|[.]$", ""); } // 길이가 2 이하인 경우 마지막 문자를 길이가 3이 될 때 까지 반복하여 끝에 붙인다. if(answer.length() <= 2) { while(answer.length() < 3) { answer += answer.charAt(answer.length() - 1); } } return answer; } @Test public void 정답(){ Assert.assertEquals("bat.y.abcdefghi", solution(new String("...!@BaT#*..y.abcdefghijklm"))); Assert.assertEquals("z--", solution(new String("z-+.^."))); Assert.assertEquals("aaa", solution(new String("=.="))); Assert.assertEquals("123_.def", solution(new String("123_.def"))); Assert.assertEquals("abcdefghijklmn", solution(new String("abcdefghijklmn.p"))); } }
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- c#코딩의기술실전편
- Store
- extjs
- c#
- dbContext
- JSON
- 에스가든스냅
- scanner
- lazy loading
- 라도무스dvd
- 스냅잘찍음
- extraParams
- Request
- error
- mac
- React
- ORM
- LINQ
- ViewModel
- 명시적외래키
- .net
- EFCore
- vscode
- intellij
- JavaScript
- 코드프로그래머스
- minimalAPI
- Config
- 대전본식영상
- 상속
Archives
- Today
- Total
ejyoo's 개발 노트
신규 아이디 추천하기 본문
'문제풀이 > 코드프로그래머스 문제풀이' 카테고리의 다른 글
[코딩 기초 트레이닝] 문자열 출력하기 (0) | 2023.10.12 |
---|---|
[프로그래머스-코딩기초트레이닝] 문자열변환 (0) | 2023.10.12 |
완주하지 못한 선수 (0) | 2021.03.04 |
크레인 인형뽑기 (0) | 2021.03.03 |
Uploaded by Notion2Tistory v1.1.0