알고리즘 첫 수업을 진행하였다.
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
result = find_max_num(input)
print(result)
정해진 배열안에서 가장 큰수를 찾는것 부터
input = "abadadasdasdaddgfsgfdaefwafsdbac"
def find_not_repeating_character(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
# 문자열의 빈도수를 찾는 코드
not_reapeating_character_array=[]
for index in range(len(alphabet_occurrence_array)):
alphabet_occurrence =alphabet_occurrence_array[index]
if alphabet_occurrence ==1:
not_reapeating_character_array.append(chr(index+ord("a")))
for char in string:
if char in not_reapeating_character_array:
return char
result = find_not_repeating_character(input)
print(result)
정해진 문자열 중에 가장 많이 출력된 단어 찾기
과제로는
input = 20
def find_prime_list_under_number(number):
prime_list =[]
for n in range(2, number+1):
for i in prime_list:
if n % i ==0 and i * i <=n:
break
else:
prime_list.append(n)
return prime_list
result = find_prime_list_under_number(input)
print(result)
input미만의 숫자들 중에 소수 찾기
input = "0111101010101010110110101010101010101010100010100"
def find_count_to_turn_out_to_all_zero_or_all_one(string):
zero=0
one=0
if string[0] =='0':
one +=1
elif string[0] == '1':
zero +=1
for i in range(len(string) -1):
if string[i] != string[i+1]:
if string[i +1] == '0':
one +=1
if string[i+1] == '1':
zero +=1
return min(one,zero)
result = find_count_to_turn_out_to_all_zero_or_all_one(input)
print(result)
01숫자 뒤집기를 했다.
소수찾기경우에는 지난주에 수없이 했던문제라 금방이해가 갔지만
숫자뒤집기의 경우에는 내일다시 봐야할문제이다.
새로운 강의를 들었으니 이파일들도 깃허브에 올려야겠다.
정상적으로 등록된 모습