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 | 29 | 30 |
Tags
- 한국투자증권 해외주식 양도세
- Katalon Recorder 사용법
- tomcat log
- 최대공약수 예제
- 테스트 자동화
- katalon 사용법
- 국세청 해외주식 양도세 신고방식
- git 연동
- katalon 비교
- 해외주식 양도세 신고
- bfs 미로탐색 java
- 피보나치함수 예제
- 톰캣 실시간 로그
- CSTS 폭포수 모델
- katalon
- katalon xpath
- javascript 자동완성
- 한국투자증권 양도세 신고
- 홈택스 해외주식 양도세
- 재귀 예제
- recursion example
- 주식 양도세 신고방법
- java.sql.SQLSyntaxErrorException
- 피보나치 예제
- 피보나치함수
- 재귀함수 예제
- katalon 자동화
- js 자동완성
- oracle group by
- 해외증권 양도세 한국투자증권
Archives
- Today
- Total
엄지월드
72410 신규 아이디 추천 본문
문제 해석
- 주어진 조건들에 맞게 계속 필터해주면 된다.
헷갈렸던 점
- 어려운 문제는 아닌데, 조건에 맞게 필터해주는게 까다로웠다.
- if(s.length() > 0 && s.charAt(s.length()-1) == '.') 에서 ""인 경우가 있어서 에러가 나가지고 s.length > 0을 추가해주었다.
소스 코드
import java.util.*;
public class 72410 {
public static void main(String[] args) {
// solution("...!@BaT#*..y.abcdefghijklm");
// solution("z-+.^.");
solution("=.=");
solution("123_.def");
solution( "abcdefghijklmn.p");
}
public static String solution(String new_id) {
String answer = "";
String s = new_id;
s = s.toLowerCase();
StringBuffer sb = new StringBuffer();
for(int i=0; i<s.length(); i++){
char c = s.charAt(i);
int ascii = (int)c;
if(c == '-' || c == '_' || c == '.'){
sb.append(c);
}else if(ascii >= 48 && ascii <= 57){
// 숫자
sb.append(c);
}else if(ascii >= 65 && ascii <= 90){
// 대문자
sb.append(c);
}else if(ascii >= 97 && ascii <= 122){
// 소문자
sb.append(c);
}
}
// 마침표가 2번 이상 연속된 부분을 하나의 마침표(.)로 치환합니다.
s = String.valueOf(sb);
while(true){
if(!s.contains("..")) break;
s = s.replace("..", ".");
}
// 마침표가 처음이나 끝에 위치한다면 제거합니다.
if(s.charAt(0) == '.') {
s = s.substring(1, s.length());
}
if(s.length() > 0 && s.charAt(s.length()-1) == '.')
s = s.substring(0, s.length()-1);
// 빈 문자열이라면 "a"를 대입합니다.
if(s.equals(""))
s = s +"a";
// 길이가 16이상이면 15자리까지만 합니다.
if(s.length() > 15)
s = s.substring(0, 15);
// 만약 제거 후 마침표가 끝에 위치한다면 끝에 위치한 마침표 문자를 제거합니다.
if(s.charAt(s.length()-1) == '.')
s = s.substring(0, s.length()-1);
while(true){
if(s.length() > 2) break;
s = s + s.charAt(s.length()-1);
}
System.out.println(s);
return answer;
}
}
'알고리즘' 카테고리의 다른 글
PGM 118667 두 큐 합 같게 만들기 (0) | 2022.09.13 |
---|---|
42862 체육복 (1) | 2022.09.11 |
68935 진법 뒤집기 (0) | 2022.09.09 |
백준 1967 트리의 지름(DFS) (0) | 2022.09.06 |
성격 유형 검사하기 java (0) | 2022.09.04 |
Comments