내배캠 10일차

·2022년 11월 23일
0

내일배움캠프

목록 보기
9/142
post-thumbnail

하루종일 숙제만 했네...

소수출력

input = 20

def find_prime_list_under_number(number):
    number_list = []
    for all in range(number):
        number_list.append(all+1)
    number_list.remove(1)

    prime_list = []
    for start in number_list:
        count = 0
        for div in range(2, start+1):
            if start % div == 0:
                count += 1

        if count == 1:
            prime_list.append(start)


    return prime_list


result = find_prime_list_under_number(input)
print(result)

=> 처음에는 number_list.remove를 이용해 출력하려고 했지만, 도움을 요청했더니 디버그기능을 이용해서 어떤 부분에서 오류가 나고 있는지 알려주셨고, number_list에서 요소가 빠진 다음에 리스트가 당겨지면서 오류가 난다고 알려주셔서 새로운 리스트에 소수들만 넣어주는 코드로 바꿨더니 해결되었다..!

문자열뒤집기

input = "011110"

def find_count_to_turn_out_to_all_zero_or_all_one(string):
    n = len(string)
    count_zero = 0
    count_one = 0

    if string[0] == '0':
        count_zero += 1
    elif string[0] == '1':
        count_one += 1

    for i in range(n-1): #i+1을 해주기 떄문에
        if string[i] != string[i + 1]:
            if string[i+1] == '0':
                count_zero += 1
            elif string[i+1] == '1':
                count_one += 1
    return min(count_one, count_zero)


result = find_count_to_turn_out_to_all_zero_or_all_one(input)
print(result)

array vs linkedlist

+파이썬의 배열은 링크드 리스트로 쓸 수도 있고, 배열로도 쓸 수 있게 만든 효율적인 자료구조!

profile
개발자 꿈나무

0개의 댓글