티스토리 뷰
728x90
반응형
문제 링크
programmers.co.kr/learn/courses/30/lessons/72410
문제 풀이
정규표현식에 대한 공부와 단계별로 문자열을 고쳐주면 어렵지 않게 풀 수 있는 문제였습니다.
소스 코드
class Solution {
public static String solution(String new_id) {
String answer = "";
answer = new_id.toLowerCase();// 1단계
answer = answer.replaceAll("[^0-9a-z._-]", ""); //2단계
StringBuffer sb= new StringBuffer();
char [] tempArr = answer.toCharArray();
char temp = ' ';
for (int i = 0; i < tempArr.length; i++) {
if(temp=='.' && tempArr[i]=='.') continue;
else {
temp = tempArr[i];
sb.append(temp);
}
}
answer = sb.toString(); // 3단계
if(answer.length()>0 && answer.charAt(0) == '.') answer = answer.substring(1);
if(answer.length()>0 && answer.charAt(answer.length()-1) == '.') answer = answer.substring(0,answer.length()-1);
if("".equals(answer)) answer = "a"; // 5단계
if(answer.length()>=16) {
answer = answer.substring(0, 15);
if(answer.charAt(answer.length()-1) == '.') answer = answer.substring(0,answer.length()-1);
}
if(answer.length()<=2) {
while(answer.length()<3) {
answer+= answer.charAt(answer.length()-1);
}
}
return answer;
}
}
728x90
반응형
'Problem Solving' 카테고리의 다른 글
[ 백준 17281 ] ⚾ 야구 - Java 시간초과 (0) | 2021.07.22 |
---|---|
[ 백준 1260 ] DFS 와 BFS - JAVA (0) | 2021.04.02 |
[ 프로그래머스 ] 주식 가격 (0) | 2021.03.30 |
[ 프로그래머스 ] N개의 최소공배수 (0) | 2021.03.29 |
[ 프로그래머스] 가장 큰 수 - Java (1) | 2021.03.10 |
250x250
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 날짜 유효성
- 반례
- DP
- 오버로딩
- 01타일
- local cache
- javascript
- 가장 큰 수
- for of
- RGB거리
- 커링
- 39회차
- 청소년상어
- 프로그래머스
- 제네릭(Generic)
- 삼성 코테
- vaild
- 백준
- spring cache
- 카카오 코딩 테스트
- 제네릭 타입
- 삼각달팽이
- 키패드 누르기
- 삼성기출
- yyyy-MM-dd
- 카카오 인턴십
- 1629
- 문자열 압축
- 19236
- java
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
글 보관함