알고리즘 최빈값 구하기

이정기·2022년 11월 24일
0

TIL

목록 보기
22/71
post-thumbnail

최빈값

많은 빈도수를 구해 값으로 출력

알파벳을 최빈값으로 구해야한다.

예상 로직

  1. 문자열 스페이스 제거
  2. 문자열 순회
  3. 문자열마다 카운트 +

예상 코딩

input_text = "hello my name is sparta"


def text_list(text):
    # 스페이스 삭제
    space_delete_text = text.replace(" ", "")
    a_count = 0
    b_count = 0
    z_count = 0
    for text_list in space_delete_text:
        if text_list == "a":
            a_count += 1
        elif text_list == "b":
            b_count += 1
        elif text_list == "z":
            z_count += 1
	
    #최대값 출력
    alphabet_list = [a_count, b_count, z_count]
    max = alphabet_list[0]
    for num in alphabet_list:
        if max < num:
            max = num

    print(f'a : {a_count}, b : {b_count}, ...  z : {z_count}') 
    // 3
	// a : 3, b : 0, ...  z : 0

어떤 알파벳이 가장 많이 나왔는지도 구했고,
배열로 만들어서 최대값도 구했는데,
가장 많이 출력한 알파벳을 구하려면 결국 아스키(ascii) 코드를 사용할 수 밖에 없다는 것을 알았다.

그리고 시간복잡도와, 공간복잡도를 고려하지 않아 조잡하다.
일단 아스키코드에 대한 이해가 필요하다.

profile
Node.js 로 꿈을 꾸었다..

0개의 댓글