문제
Given two strings s and t, return true if s is a subsequence of t, or false otherwise.
A subsequence of a string is a new string that is formed from the original string by deleting some (can be none) of the characters without disturbing the relative positions of the remaining characters. (i.e., "ace" is a subsequence of "abcde" while "aec" is not).
Example 1:
Input: s = "abc", t = "ahbgdc"
Output: true
Example 2:
Input: s = "axc", t = "ahbgdc"
Output: false
Constraints:
- 0 <= s.length <= 100
- 0 <= t.length <= 104
- s and t consist only of lowercase English letters.
풀이
나의 풀이법
풀이 접근 과정
그냥 직관적으로 문제를 보고 이해되는 방향으로 풀었다.
깊게 생각하지 않고 풀었다.
최종 소스코드
class Solution {
fun isSubsequence(s: String, t: String): Boolean {
if (s.length == 0) return true
var sIndex = 0
t.forEach {
if (it == s[sIndex]) sIndex++
if (s.length == sIndex) return true
}
return s.length == sIndex
}
}
- s의 index를 계산할 sIndex를 0으로 초기화한다.
- t 문자를 돌면서 s의 값과 비교한다.
- sIndex가 s의 길이와 같으면 true를 리턴한다.
Comment
깊은 고민 없이 푼 문제이니 Easy 수준이 맞는 것 같다.
'LeetCode > Kotlin | Easy' 카테고리의 다른 글
[LeetCode/Kotlin]Easy - 441. Arranging Coins (0) | 2023.09.14 |
---|---|
[LeetCode/Kotlin]Easy - 141. Linked List Cycle (0) | 2023.08.27 |
[LeetCode/Kotlin]Easy - 58. Length of Last Word (0) | 2023.06.30 |
[LeetCode/Kotlin]Easy - 1356. Sort Integers by The Number of 1 Bits (0) | 2023.06.30 |
[LeetCode/Kotlin]Easy - 28. Find the Index of the First Occurrence in a String (0) | 2023.06.30 |