
16일차 문제
링크 : https://school.programmers.co.kr/learn/courses/30/lessons/72410
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
문제 풀이
이전에 풀었던 문제가 나왔다.
class Solution {
public String solution(String new_id) {
// 1. 소문자 치환
new_id = new_id.toLowerCase();
// 2. 문자 제거
String id = "";
for(int i=0; i<new_id.length(); i++) {
char c = new_id.charAt(i);
if(c >= 'a' && c <= 'z') {
id += String.valueOf(c);
} else if(c >= '0' && c <= '9') {
id += String.valueOf(c);
} else if(c == '_' || c == '-' || c == '.') {
id += String.valueOf(c);
}
}
// 3. ..를 .로 치환
while(id.contains("..")) {
id = id.replace("..", ".");
}
// 4. .가 처음이나 끝에 위치하면 제거
if(id.length() > 0) {
if(id.charAt(0) == '.') {
id = id.substring(1, id.length());
}
if(id.length() - 1 == '.') {
id = id.substring(0, id.length() - 1);
}
}
// 5. 빈 문자열이라면, 'a' 대입
if(id.equals("")) {
id = "a";
}
// 6. 16자 이상일 경우, 첫 15개 문자를 제외한 나머지 문자 제거
if(id.length() >= 16) {
id = id.substring(0, 15);
}
if(id.charAt(id.length() - 1) == '.') {
id = id.substring(0, id.length()-1);
}
// 7. 길이가 2자 이하일 경우, 마지막 문자를 길이가 3이 될 때까지 붙이기
if(id.length() <= 2) {
char last = id.charAt(id.length() - 1);
while(id.length() < 3) {
id += String.valueOf(last);
}
}
String answer = id;
return answer;
}
}'Study > 99클럽 코테 스터디' 카테고리의 다른 글
| [99클럽 코테 스터디 18일차 TIL] 강아지는 많을수록 좋다 (1) | 2025.04.23 |
|---|---|
| [99클럽 코테 스터디 17일차 TIL] 너구리 구구 (0) | 2025.04.22 |
| [99클럽 코테 스터디 15일차 TIL] 리그 오브 레전설 (Small) (0) | 2025.04.20 |
| [99클럽 코테 스터디 14일차 TIL] 진우의 달 여행 (Small) (0) | 2025.04.17 |
| [99클럽 코테 스터디 13일차 TIL] JadenCase 문자열 만들기 (0) | 2025.04.16 |