
문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음
반복된 문자가 없다면 좋은 문자열이다.
문자열 s가 주어졌을때, s에서 길이가 3인 좋은 부분 문자열의 수를 반환해라.
같은 부분 문자열이 나타나는 경우, 모든 경우를 계산해야한다.
부분 문자열은 문자열에서 연속된 문자들의 순서이다.
#1
Input: s = "xyzzaz"
Output: 1
Explanation: 사이즈가 3인 4개의 부분 문자열 "xyz", "yzz", "zza", "zaz"가 있다. 오직 길이가 3인 좋은 부분 문자열은 "xyz"이다.
#2
Input: s = "aababcabc"
Output: 4
Explanation: 사이즈가 3인 7개의 부분 문자열 "aab", "aba", "bab", "abc", "bca", "cab", abc"이 있다. 좋은 부분 문자열은 "abc", "bca", "cab", "abc"이다.
class Solution {
public int countGoodSubstrings(String s) {
if(s.length() <= 2){
return 0;
}
int result = 0;
for(int i = 0; i < s.length() - 2; i++){
if(
s.charAt(i) != s.charAt(i + 1) &&
s.charAt(i + 1) != s.charAt(i + 2) &&
s.charAt(i + 2) != s.charAt(i)
){
result++;
}
}
return result;
}
}