반응형
String 객체를 다루는 법과 슬라이싱 등을 연습하기 좋았던 예제.
StringBuffer나 StringBuilder를 이용하여 해결해보는 연습도 해보아야겠다.
구글링+ 이클립스 최고.
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
class Solution {
public String solution(String new_id) {
String answer = "";
String possibleChar =".-_abcdefghijklmnopqrstuvwxyz"
+"0123456789";
//1단계 소문자 치환
new_id = new_id.toLowerCase();
//2단계 소문자,숫자,빼기,밑줄,마침표를 제외한 문자제거
for( int i = 0 ; i<new_id.length();i++) {
int tempCheck = 0;
System.out.println(new_id.charAt(i));
for( int j = 0 ; j<possibleChar.length();j++) {
if(new_id.charAt(i) == possibleChar.charAt(j)) {
tempCheck++;
}
}
if(tempCheck==0) {
System.out.println(new_id.charAt(i));
new_id = new_id.replace(new_id.charAt(i),' ');
}
}
new_id = new_id.replaceAll(" ","");
System.out.println("2단계:"+new_id.toString());
//3단계 마침표가 2번 이상 연속된부분은 하나의 마침표로 치환
for(int k =0; k<new_id.length()-1;k++) {
if((new_id.charAt(k)=='.')&&(new_id.charAt(k+1)=='.')) {
new_id = new_id.substring(0,k)+new_id.substring(k+1);
k--;
}
}
System.out.println("3단계:"+new_id.toString());
//4단계 첫 끝 마침표(.) 제거
if(new_id.startsWith(".")) {
new_id= new_id.substring(1);
}
if(new_id.endsWith(".")) {
new_id = new_id.substring(0, new_id.length()-1);
}
System.out.println("4단계:"+new_id.toString());
//5단계 빈 문자열이라면 a를 대입
if(new_id.isEmpty()) {
new_id = "a";
}
System.out.println("5단계:"+new_id.toString());
//6단계 16자 이상일 경우 첫 15문자까지만
if(new_id.length()>=16) {
new_id = new_id.substring(0, 15);
}
if(new_id.charAt(new_id.length()-1)=='.') {
new_id = new_id.substring(0,new_id.length()-1);
}
System.out.println("6단계:"+new_id.toString());
//7단계길이가 2자 이하라면 마지막 문자를 길이가 3이 될때까지 추가
if(new_id.length()<=2) {
for(int n = 0;n<=(3-new_id.length());n++) {
new_id += new_id.charAt(new_id.length()-1);
}
}
System.out.println("7단계:"+new_id.toString());
answer = new_id;
return answer;
}
}
|
cs |

반응형
'개발 > 코딩' 카테고리의 다른 글
[프로그래밍] 프로그래머스 예제문제 풀어보기 <문자열 압축> (성공) (0) | 2022.03.18 |
---|---|
[프로그래밍] 프로그래머스 예제문제 풀어보기 <숫자 문자열과 영단어> (성공) , java String 에서 int int에서 String replaceAll (2) | 2022.03.16 |
[프로그래밍] JAVA자바연습 insert삽입정렬 (0) | 2022.03.13 |
[프로그래밍] 프로그래머스 예제문제 풀어보기 <로또의 최고 순위와 최저 순위> (성공) (0) | 2022.03.13 |
[프로그래밍] 프로그래머스 예제문제 풀어보기 <신고 결과 받기> (성공) (0) | 2022.03.13 |