Notice
250x250
Recent Posts
Recent Comments
Link
넘치게 채우기
[LeetCode] 1684. Count the Number of Consistent Strings 본문
PS/LeetCode
[LeetCode] 1684. Count the Number of Consistent Strings
riveroverflow 2024. 9. 12. 11:15728x90
반응형
leetcode - Count the Number of Consistent Strings
문제 유형 : 문자열 처리
문제 난이도 : Easy
문제
You are given a string allowed consisting of distinct characters and an array of strings words. A string is consistent if all characters in the string appear in the string allowed.
Return the number of consistent strings in the array words.
중복 없는 문자로만 구성된 allowed문자열과 문자열 배열 words가 주어진다.
문자열의 구성 문자들이 각각 allowed에 있다면, 일관된 문자열이라 한다.
일관된 문자열의 개수를 구하시오.
풀이
allowed를 순차적으로 순회하면서, 26짜리 길이의 배열에 각 알파벳의 허용여부를 저장한다.
words의 각각의 문자열에서 각각의 글자를 읽으면서, 배열에서 true인지 확인한다. 모두 true라면, 개수를 1 추가한다.
총 누적한 개수를 반환한다.
코드
C++
#pragma GCC optimize("03", "unroll-loops");
static const int __ = [](){
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
return 0;
}();
class Solution {
public:
int countConsistentStrings(string allowed, vector<string>& words) {
vector<bool> table(26, false);
for(char &ch : allowed) {
table[ch - 'a'] = true;
}
int ans = 0;
for(auto &word : words) {
bool flag = true;
for(auto &ch : word) {
if(!table[ch - 'a']) {
flag = false;
break;
}
}
if(flag) ans++;
}
return ans;
}
};
Go
func countConsistentStrings(allowed string, words []string) int {
table := make([]bool, 26)
for _, v := range allowed {
table[v - 'a'] = true
}
ans := 0
for _, word := range words {
flag := true
for _, ch := range word {
if !table[ch - 'a'] {
flag = false
break
}
}
if flag {
ans++
}
}
return ans
}
728x90
반응형
'PS > LeetCode' 카테고리의 다른 글
[LeetCode] 2419. Longest Subarray With Maximum Bitwise AND (0) | 2024.09.14 |
---|---|
[LeetCode] 1310. XOR Queries of a Subarray (0) | 2024.09.13 |
[LeetCode] 2220. Minimum Bit Flips to Convert Number (0) | 2024.09.11 |
[LeetCode] 2807. Insert Greatest Common Divisors in Linked List (0) | 2024.09.10 |
[LeetCode] 2326. Spiral Matrix IV (0) | 2024.09.09 |