🗒 문제
📝 나의 문제풀이
class Solution {
fun solution(my_string: String): Array<String> {
return my_string.split(" ").filter{ it.isNotEmpty() }.toTypedArray()
}
}
📝 다른 사람의 문제 풀이
다른 사람의 문제 풀이는 좋아요 수가 높거나 많은 사람들이 푼 방법 기준으로 첨부하였습니다.
class Solution {
fun solution(myString: String): List<String> {
return myString.trim().split("\\s+".toRegex())
}
}
🖊 문제 풀이 시 알면 좋을 것
split
- 문자열을 특정 구분자(예: 공백) 기준으로 나눠 리스트를 생성합니다.
- 기본적으로 단일 구분자를 사용하지만, 정규 표현식도 활용할 수 있습니다.
val result = myString.split(delimiter: String)
val result = myString.split(delimiter: Regex)
- 연속된 구분자는 빈 문자열로 분리됩니다.
val str = " i love you "
println(str.split(" ")) // 출력: [, , i, , , love, you, ]
정규 표현식과 \\s+
- 정규 표현식 \\s+는 하나 이상의 공백(스페이스, 탭, 줄 바꿈 등)을 의미합니다.
- split("\\s+".toRegex()):
- 연속된 공백을 하나로 묶어 처리하므로, 빈 문자열 없이 정확히 단어만 추출할 수 있습니다.
val str = " i love you "
println(str.split("\\s+".toRegex())) // 출력: [i, love, you]
toRegex() 설명
toRegex()는 문자열을 정규 표현식 객체로 변환하는 함수입니다.
코틀린에서는 문자열만으로 정규 표현식 기능을 사용할 수 없기 때문에, **정규 표현식 객체(Regex)**로 변환해야 합니다.
trim()
- 문자열 양쪽 끝의 공백을 제거합니다.
val str = " i love you "
println(str.trim()) // 출력: "i love you"
반응형
'코딩테스트' 카테고리의 다른 글
[프로그래머스] 문자열 잘라서 정렬하기 (0) | 2025.01.24 |
---|---|
[프로그래머스] x 사이의 개수 (0) | 2025.01.24 |
[프로그래머스] 공백으로 구분하기 1 (0) | 2025.01.21 |
[프로그래머스] 문자열이 몇 번 등장하는지 세기 (0) | 2025.01.21 |
[프로그래머스] 특정 문자열로 끝나는 가장 긴 부분 문자열 찾기 (0) | 2025.01.21 |