class Solution {
fun solution(new_id: String): String {
var answer: String = new_id
answer = answer.toLowerCase()
var re = Regex("[^a-z0-9._-]")//파이썬이랑 비슷한듯 이거 잘 활용 해야함 소문자, 숫자, .-_ 가 아닌것 필터링
answer = re.replace(answer,"")
re = Regex("\\.{2,}") // {} <- 이거가 반복 횟수, \\ <- 이스케이프
answer = re.replace(answer,".") // 이 이후는 단계 알아서 적용해야해서 함수로 사용하는게 좋겠다.
answer = step4(answer)
if (answer.length == 0) answer = answer.plus("a") // 첫 문자열 지우기 length()가 아니라 length다
if (answer.length >= 16){
answer = answer.substring(0,15) //substring은 substring(start, end) -> start~end-1인듯
answer = step5(answer)
}
while (answer.length < 3){
answer += answer[answer.length - 1]
if (answer.length > 3) answer = answer.substring(0,3)
}
return answer
}
}
fun step4(new_id : String):String { // 앞 뒤 dot 지우기
var answer: String = new_id
while (answer[0] == '.'){
if(answer.length == 1) {
answer = ""
return answer
}
answer = answer.substring(1,answer.length)
}
while(answer[answer.length - 1] == '.'){
if(answer.length == 1){
answer = ""
return answer
}
answer = answer.substring(0,answer.length - 1)
}
return answer
}
fun step5(new_id : String) : String { // 뒤 dot 지우기
var answer : String = new_id
while(answer[answer.length - 1] == '.'){
if(answer.length == 1){
answer = ""
return answer
}
answer = answer.substring(0,answer.length - 1)
}
return answer
}
코틀린은 풀이가 잘 없다.
정규식을 활용한다고 애좀 썼다.
정규식 공부하기 위해서 아래 세사이트를 참고했다. 그래도 사용법을 대충 알게 되어서 다행이다.
아 풀이가 코틀린은 잘 없다 ㅜ
아래는 코틀린으로 푼 블로그가 있어서 올려본다.
아직 코드는 안봤는데 낼 아침에 봐야지
댓글 영역