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
#코드가 복잡하고 변환식이 있어서 사용 안할꺼 같음