Recent Posts
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 |
Tags
- 헥사고날아키텍처 #육각형아키텍처 #유스케이스
- 달인막창
- 코루틴 빌더
- JanusWebRTCGateway
- VARCHAR (1)
- Value too long for column
- python
- 개성국밥
- PersistenceContext
- JanusGateway
- k8s #kubernetes #쿠버네티스
- 오블완
- JanusWebRTC
- preemption #
- 자원부족
- tolerated
- mp4fpsmod
- pytest
- 겨울 부산
- taint
- PytestPluginManager
- terminal
- table not found
- vfr video
- 깡돼후
- JanusWebRTCServer
- 티스토리챌린지
- Spring Batch
- 코루틴 컨텍스트
- kotlin
Archives
너와 나의 스토리
[Java] 2021 KAKAO BLIND RECRUITMENT > 신규 아이디 추천: 풀이 & 코드 본문
Algorithm/Programmers
[Java] 2021 KAKAO BLIND RECRUITMENT > 신규 아이디 추천: 풀이 & 코드
노는게제일좋아! 2022. 6. 2. 20:10반응형
문제: https://programmers.co.kr/learn/courses/30/lessons/72410
문제 풀이:
- 그냥 시키는 대로 하면 끝..
소스 코드:
import java.util.Locale;
class Solution {
public String solution(String new_id) {
String answer = "";
answer = step1(new_id);
answer = step2(answer);
answer = step3(answer);
answer = step4(answer);
answer = step5(answer);
answer = step6(answer);
answer = step7(answer);
return answer;
}
public String step1(String id) {
return id.toLowerCase(Locale.ROOT);
}
public String step2(String id) {
String new_id = "";
for (int i = 0; i < id.length(); i++) {
if (isValid(id.charAt(i))) new_id += id.charAt(i);
}
return new_id;
}
private boolean isValid(char character) {
if ('a' <= character && character <= 'z') return true;
else if ('0' <= character && character <= '9') return true;
else return character == '-' ||
character == '_' ||
character == '.';
}
public String step3(String id) {
String new_id = "";
int count = 0;
for (int i = 0; i < id.length(); i++) {
char cur = id.charAt(i);
if (cur == '.') {
if (count == 0) new_id += cur;
count++;
} else {
new_id += cur;
count = 0;
}
}
return new_id;
}
public String step4(String id) {
String new_id = id;
int len = id.length();
if (id.charAt(0) == '.') new_id = " " + new_id.substring(1, len);
if (id.charAt(len-1) == '.') new_id = new_id.substring(0, len - 1) + " ";
return new_id.replaceAll(" ", "");
}
public String step5(String id) {
if (id.length() == 0) return "a";
return id;
}
public String step6(String id) {
String new_id = id;
if (id.length() >= 16) new_id = id.substring(0, 15);
return step4(new_id);
}
public String step7(String id) {
String new_id = id;
char lastChar = id.charAt(id.length() - 1);
while (new_id.length() <= 2) {
new_id += lastChar;
}
return new_id;
}
}
반응형
'Algorithm > Programmers' 카테고리의 다른 글
[Java] 2018 KAKAO BLIND RECRUITMENT[1차] > 추석 트래픽: 풀이 & 코드 & 예외 상황 (0) | 2022.06.05 |
---|---|
[Java] 2020 KAKAO BLIND RECRUITMENT > 문자열 압축: 풀이 & 코드 (0) | 2022.06.02 |
[Java] 2022 KAKAO BLIND RECRUITMENT > 신고 결과 받기: 풀이 & 코드 (0) | 2022.06.01 |
Comments