🤓 알고리즘

[알알알] week1 문제

manysheep 2021. 6. 15. 19:38

스파르타코딩클럽  - 알고보면알기쉬운알고리즘 내용 정리

 

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)

 

 

 

728x90