알고리즘

김젼이·2022년 3월 10일
0

1. 최댓값 구하기

input = [3, 5, 6, 1, 2, 4]

def find_max_num(array):
	for num in array:
    	for compare_num in array:
        if num < compare_num:
        	break
            
        else: 
        	return num 
        #for문에서 break가 발생하지 않을 경우
        
input = [6, 9, 2, 7, 1888]

def find_max_num(array)
	max_num = array[0]
    for num in array:
    	if num > max_num: 
   			max_num = num
    return max_num
    #return값을 if라인과 맞추게 되면 결과값이 6이 나온다
    #for에 맞추어야 최댓값이 나옴 주의

결과값 : 1888

2. 최빈값 구하기

input = "hello my name is sparta"

def find_max_occurred_alphabet(string): 
	alphabet_array=["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "n", "m", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"] #알파벳을 나열 했을때
    
    max_occurrence = 0
    max_alphbet = alphabet_array[0]
    
    for alphabet in alphabet_array:
    	occurrence = 0
    	for char in string:
    		if char == alphabet:
    			occurrence += 1
            
    	if occurrence > max_occurrence:
    		max_alphabet = alphabet
    		max_occurrence = occurence
        
    return max_alphabet
       	 
     결과값 : a (a가 3번으로 가장 자주 나옴)
input = "hello my name is sparta"

def find_max_occurred_alphabet(string): 
	alphabet_occurrence_array = [0] * 26
    
    for char in string:
    	if not char.isalpha():
        	continue
        arr_index = ord(char) - ord('a')
        alphabet_occurrence_array[arr_index] += 1
        
        max_occurrence = 0
        max_alphabet_index = 0
       		for index in range(len(alphabet_occurrence_array)):
            alphabet_occueence = alphabet_occurrence_array[index]
            	if alphabet_occurence > max_occurrence:
                max_occurrence = alphabet_occurence
        		max_alphabet_index = index
                #max_alphabet_index는 0이 된다. 
                #아스키코드번호를 문자로 변경하려면 chr()사용
                
     return  chr (max_alphabet_index + ord('a'))
        # a -> 0
        # a -> ord(a) -> 97 - ord(a) = 0
        # 0 -> a
        # 0 -> 0 + ord(a) -> 97 -> chr(97) -> a
                
     #코드가 복잡하고 변환식이 있어서 사용 안할꺼 같음   
profile
세상에 쓸모없는 배움은 없다.

0개의 댓글