ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 10 TIL
    내일배움캠프 2022. 11. 10. 21:41

     

    알고리즘에 대해 정리해보겠습니다.

    일단 자잘한거 배우다가 퀀텀점프 한거 같이 난이도가 급격히 상승했습니다 ..

     

    마치 이제 막 모험을 시작해서 슬라임도 잡고 고빌린도 잡고 해야하는데 

    바로 보스을 마주하여 고전하는 느낌이랄까 .. ? 어찌저찌 편법을 사용해서 넘겼는데

    보스 왈 "난 사천왕중에 최약체다 !" 라고 말하면서 지옥을 선사해주고 있습니다 ㅠ

     

    가장 애 먹었던 알고리즘을 소개하며 마치겠습니다

    def find_alphabet_occurrence_array(string): # 매개변수(parameter)
        alphabet_occurrence_array = [0] * 26
    
        for char in string:                     # 매개변수에서 받은 값음 1개씩 빼서 char에 넣어줌
            if not char.isalpha():              # isalpha() = a ~ z 일경우 true
                continue                        # 다음 for문으로 넘어감
            arr_index = ord(char) - ord("a")    # char와 문자a를 ord를 이용해 숫자로 변환하여 해당 식으로 배열값을 구함
            alphabet_occurrence_array[arr_index]  += 1 # 해당 배열에 +1 증가
    
            max_occurrence = 0                  # 변수 지정 및 초기화
            max_alpgabat_index = 0              # 변수 지정 및 초기화
            for index in range(len(alphabet_occurrence_array)): #range(len())로 요소개수를 돌려줌
                alphabet_occurrence = alphabet_occurrence_array[index]
                if alphabet_occurrence > max_occurrence:
                    max_alpgabat_index = index
                    max_occurrence = alphabet_occurrence
                print(max_alpgabat_index)
                return chr(max_alpgabat_index + ord("a"))
    
    print(find_alphabet_occurrence_array("hello my name is sparta")) # 인자(argument)

    '내일배움캠프' 카테고리의 다른 글

    12 TIL  (0) 2022.11.14
    11 TIL  (0) 2022.11.11
    9 TIL  (0) 2022.11.09
    8 TIL  (0) 2022.11.08
    7 TIL  (0) 2022.11.07
Designed by Tistory.