본문 바로가기
알고리즘

[알고리즘] Determine if String Halves Are Alike

by keel_im 2021. 2. 4.
반응형

포인트

1. 모음을 찾아서 개수를 세어주는 문제이다.

🧶문서는 항상 수정 될 수 있습니다. 비판은 환영합니다. 

c++/cpp

#include <bits/stdc++.h>

using namespace std;

class Solution {
public:
  string basic = "aeiouAEIOU";
    int cnt(string s){
      int count = 0;
      for(auto ele : s){
        if(basic.find(ele)!=string::npos) count+=1;
      }
      return count;
    }

    bool halvesAreAlike(string s) {
      
      string a, b;

      for (int i = 0; i < s.size(); i++)
      {
        if(i<s.size()/2){
          a+=s[i];
        } else{
          b+=s[i];
        }
      }
      int acount = cnt(a);
      int bcount = cnt(b);

      return acount==bcount;
    }
};

python

class Solution:
    basic ='aeiouAEIOU'
    
    def cnt(self, s):

        return len([[ele for ele in s if ele in Solution.basic]])

    def halvesAreAlike(self, s: str) -> bool:
        
        a, b = self.cnt(str(s[:len(s)//2])), self.cnt(str(s[len(s)//2:]))
        
        return a==b
반응형

댓글