🗒 문제
📝 나의 문제풀이
class Solution {
fun solution(myString: String, pat: String): String {
val index = myString.lastIndexOf(pat)
return myString.substring(0, index + pat.length)
}
}
📝 다른 사람의 문제 풀이
다른 사람의 문제 풀이는 좋아요 수가 높은 기준으로 첨부하였습니다.
class Solution {
fun solution(myString: String, pat: String) = myString.substring(0, myString.lastIndexOf(pat) + pat.length)
}
🖊 문제 풀이 시 알면 좋을 것
lastIndexOf
- 문자열에서 특정 패턴(pat)이 마지막으로 등장하는 시작 위치를 반환.
- 패턴이 없을 경우 -1을 반환.
val myString = "hello world"
val pat = "o"
println(myString.lastIndexOf(pat)) // 출력: 7 (마지막 "o"의 위치)
println(myString.lastIndexOf("z")) // 출력: -1 (존재하지 않음)
substring
- 문자열의 특정 범위를 잘라내는 함수.
- substring(startIndex, endIndex)는 startIndex부터 endIndex - 1까지 반환.
- startIndex: 포함 (이 위치의 문자부터 시작).
- endIndex: 포함되지 않음 (이 위치의 문자는 제외).
- 즉, startIndex부터 endIndex - 1까지의 부분 문자열을 반환함.
val myString = "hello world"
// startIndex 포함, endIndex 미포함
println(myString.substring(0, 5)) // 출력: "hello" (0~4 문자 포함)
println(myString.substring(6, 11)) // 출력: "world" (6~10 문자 포함)
// startIndex만 사용할 경우, 끝까지 반환
println(myString.substring(6)) // 출력: "world"
반응형
'코딩테스트' 카테고리의 다른 글
[프로그래머스] 공백으로 구분하기 1 (0) | 2025.01.21 |
---|---|
[프로그래머스] 문자열이 몇 번 등장하는지 세기 (0) | 2025.01.21 |
[프로그래머스] 특정한 문자를 대문자로 바꾸기 (0) | 2025.01.20 |
[프로그래머스] A 강조하기 (0) | 2025.01.20 |
[프로그래머스] 배열에서 문자열 대소문자 변환하기 (0) | 2025.01.20 |