2023년 02월 04일 토요일 - T1!
오늘 올려볼 문제는 567번 Permutation in String 이라는 문제이다.
사진을 클릭하면 해당 문제로 이동합니다.
오늘도 LeetCode 사이트 오늘의 문제를 가지고 왔다.
이것도 풀었던 문제구만
입력
사진에서도 볼 수 있듯이 String 값 2개가 입력으로 들어온다.
풀이 및 코드
s1의 permutation이 s2의 substring으로 들어가있는지 판단하는 문제이다.
오늘은 처음부터 정답을 생각해냈다.
그저 윈도우 슬라이드면 충분하다.
이제 코드를 봐보자!
풀이코드
class Solution {
public boolean checkInclusion(String s1, String s2) {
if(s1.length() > s2.length()) return false;
var arr = new int[26];
int n = s1.length(), sum = n;
for(var c : s1.toCharArray()) arr[c - 'a']++;
for(int i = 0; i < n; i++) if(arr[s2.charAt(i) - 'a']-- > 0) sum--;
if(sum == 0) return true;
for(int i = n; i< s2.length(); i++) {
if(arr[s2.charAt(i) - 'a']-- > 0) sum--;
if(++arr[s2.charAt(i - n) - 'a'] > 0) sum++;
if(sum == 0) return true;
}
return false;
}
}
제출 화면
뭐 이정도는 easy하죠~
내일도 문제를 풀어서 블로그에 글을 쓸 수 있으면 좋겠다.
'LeetCode 문제 풀이' 카테고리의 다른 글
[LeetCode] 1470번 Shuffle the Array 문제를 풀어보았다. (ft. java) (0) | 2023.02.07 |
---|---|
[LeetCode] 438번 Find All Anagrams in a String 문제를 풀어보았다. (ft. java) (0) | 2023.02.05 |
[LeetCode] 6번 Zigzag Conversion 문제를 풀어보았다. (ft. java) (0) | 2023.02.04 |
[LeetCode] 953번 Verifying an Alien Dictionary 문제를 풀어보았다. (ft. java) (0) | 2023.02.02 |
[LeetCode] 1071번 Greatest Common Divisor of Strings 문제를 풀어보았다. (ft. java) (0) | 2023.02.01 |