이 문제는 주어진 문자열을 이등분한 후, 각 문자열에 포함된 모음의 수가 같으면 true를 반환하는 문제다
별다른 거 할 필요 없이 문제 그대로 구현하면 된다.
C++
더보기
class Solution {
public:
bool halvesAreAlike(string s) {
map<char,int> score;
score['a'] = 1; score['e'] = 1; score['i'] = 1; score['o'] = 1; score['u'] = 1;
score['A'] = 1; score['E'] = 1; score['I'] = 1; score['O'] = 1; score['U'] = 1;
int a = 0, b = 0;
for(size_t i = 0; i < s.length() / 2; ++i)
a += score[s[i]];
for(size_t i = s.length() / 2; i < s.length(); ++i)
b += score[s[i]];
return a == b;
}
};
Python
더보기
class Solution:
def halvesAreAlike(self, s: str) -> bool:
str1 = s[:len(s)//2]
str2 = s[len(s)//2:]
score = ['a','e','i','o', 'u', 'A', 'E', 'I', 'O', 'U']
a = 0
b = 0
for i in range(len(str1)):
if str1[i] in score:
a += 1
if str2[i] in score:
b += 1
return a == b
728x90
'Problem Solving > Leet Code' 카테고리의 다른 글
1706 Where Will the Ball Fall (0) | 2021.01.11 |
---|---|
1705 Maximum Number of Eaten Apples (0) | 2021.01.11 |
1713 Minimum Operations to Make a Subsequence (0) | 2021.01.08 |
1712 Ways to Split Array Into Three Subarrays (0) | 2021.01.08 |
1711 Count Good Meals (0) | 2021.01.08 |