[알알알] week1 문제
스파르타코딩클럽 - 알고보면알기쉬운알고리즘 내용 정리
01. 최대값 찾기
배열 내 가장 큰 수 반환
input = [3, 5, 6, 1, 2, 4]
(1) 숫자 하나를 다른 숫자 하나와 비교 - 반복
def find_max_num(array):
for num in array: # array의 각각 변수를 num에 담기
for compare_num in array: #num과 compare_num을 뽑아 비교하는 이중 반복
if num < compare_num:
break
else: # for가 다 끝날때까지 break가 사용되지 않을 떄 사용함.
return num
(2) 가상의 변수 설정 후 가장 큰 수를 기록하고 다른 수랑 비교해서 변경하는 함수
def find_max_num(array):
max_num = array[0] # 0번째 원소인 이유 : 비교해야하니 초기값으로 설정
for num in array:
if num > max_num:
max_num = num # max_num을 num과 바꾸기
return max_num
result = find_max_num(input)
print(result)
02. 최빈값 찾기
"hello my name is sparta"
# 각 알파벳마다 문자열을 돌며 갯수 구하기 (하나하나 비교)
def find_max_occurred_alphabet(string):
# a랑 문자열과 비교해야 하기 때문에 array 작성
alphabet_array = ["a", "b", "c", "d", "e", "f", "g", "h","i","j","k","l","m","n", "o","p","q","r","s","t","u","w","x","y","z"]
max_occurrence = 0 # 최고 많이 나온 횟수 저장하기 위한 변수
max_alphabet = alphabet_array[0] # 최고 많이 나온 알파벳 저장 위한 변수
for alphabet in alphabet_array: # 알파벳 변수에 원소를 담아줌
occurrence = 0
for char in string: # for문을 돌며 문자열과 일치하는 값 찾기
if char == alphabet:
occurrence += 1 # 알파벳과 동일하면 occ 1 추가
if occurrence > max_occurrence:
max_occurrence = occurrence
max_alphabet = alphabet
return max_alphabet
result = find_max_occurred_alphabet(input)
print(result)