프로그래머스 코딩테스트연습
2021 KAKAO BLIND RECRUITMENT 신규 아이디 추천
난이도 Level1
https://programmers.co.kr/learn/courses/30/lessons/72410
class Solution {
public String solution(String new_id) {
String answer;
// 1단계
String step1 = new_id.toLowerCase();
// 2단계
char[] step1_arr = step1.toCharArray();
StringBuilder step2 = new StringBuilder();
for (char c : step1_arr) {
if ((c >= 'a' && c <= 'z') || (c >= '0' && c <= '9') || c == '-' || c == '_' || c == '.') {
step2.append(c);
}
}
// 3단계
String step3 = step2.toString().replace("..", ".");
while (step3.contains("..")) {
step3 = step3.replace("..", ".");
}
// 4단계
String step4 = step3;
if (step4.length() > 0) {
if (step4.charAt(0) == '.') {
step4 = step4.substring(1, step4.length());
}
}
if (step4.length() > 0) {
if (step4.charAt(step4.length() - 1) == '.') {
step4 = step4.substring(0, step4.length() - 1);
}
}
//5단계
String step5 = step4;
if(step5.equals("")){
step5 = "a";
}
//6단계
String step6 = step5;
if (step6.length() >= 16) {
step6 = step6.substring(0, 15);
if (step6.charAt(step6.length() - 1) == '.') {
step6 = step6.substring(0, step6.length() - 1);
}
}
//7단계
StringBuilder step7 = new StringBuilder(step6);
if (step7.length() <= 2){
char end = step7.charAt(step7.length() - 1);
while (step7.length() < 3) {
step7.append(end);
}
}
answer = String.valueOf(step7);
return answer;
}
}
정말 취업을 준비하기 위하여 떨어진 코딩의 감을 되찾기 위해 찾은 코딩테스트
코딩 선배님들의 리뷰와 전공책을 공부하며 풀었다.
이렇게 많이 부족해졌구나 문제를 풀면서 뼈저리게 부족한 부분들을 느꼈다
다시 공부하며 열정도 되찾고 개발자가 되기위해 단단하게 다지며 걸어가는 내가 되기를 바란다.
그래도 지나가는 길에 프로그래밍이 눈에 띄면 지나치지 못하는 걸 보니
나 코딩 하는거 좋아하나보다 분명해!