본문 바로가기

스파르타코딩개발일지

TIL13일차

알고리즘 첫 수업을 진행하였다.

 

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숫자 뒤집기를 했다.

 

소수찾기경우에는 지난주에 수없이 했던문제라 금방이해가 갔지만

 

숫자뒤집기의 경우에는 내일다시 봐야할문제이다.

 

 

새로운 강의를 들었으니 이파일들도 깃허브에 올려야겠다.

 

정상적으로 등록된 모습

 

https://github.com/Beam-ki

'스파르타코딩개발일지' 카테고리의 다른 글

TIL15일차.  (0) 2022.09.21
TIL 14일차.  (0) 2022.09.20
TIL12일차.  (0) 2022.09.16
TIL11일차.  (0) 2022.09.15
TIL10일차.  (0) 2022.09.14