와아아아악
점점 더 어려워지는 와중에 약간 안심(?)인 부분은 나만 그런게 아닌 것 같다는 점이랄까요..
그래도 끝까지 낑낑대던 알고리즘 2주차 숙제가 풀려서 기부니가 좋아졌어요 하하
오늘도 유익했던 창민 튜터님의 알고리즘 리뷰강의
-삽입 시간
-삭제 시간
-검색 시간
-정렬 여부
➡ 4가지 사항 중 어떤 걸 요구하느냐에 따라 선택할 자료구조 종류가 달라짐
장점 : 자료 삽입과 삭제에 있어 유연한 자료구조 ⬅ 배열처럼 하나씩 밀지 않아도 됨
숙제는 나중에 더 다듬어 봐야겠다😅
+ 문자열 뒤집기
input1 = "011110"
input2 = "100000"
input3 = "000111"
def find_count_to_turn_out_to_all_zero_or_all_one(string):
stack = []
change_num = 0
for element in string:
stack.append(element)
count_zero = stack.count('0')
count_one = stack.count('1')
if count_one < count_zero:
for i in range(count_one):
index_key = stack.index('1')
stack[index_key] = '0'
change_num += 1
elif count_zero < count_one:
for i in range(count_zero):
index_key = stack.index('0')
stack[index_key] = '1'
change_num += 1
return change_num
result = find_count_to_turn_out_to_all_zero_or_all_one
print(f'{input1} 의 최소 횟수: ', result(input1))
print(f'{input2} 의 최소 횟수: ', result(input2))
print(f'{input3} 의 최소 횟수: ', result(input3))
+ 소수 구하기
input = 20
def find_prime_list_under_number(number):
prime_list = []
for element in range(1, number+1):
for i in range(1, element+1):
if not i > 1 and element > 1:
continue
if element % i == 0:
if element == 2:
prime_list.append(element)
break
else:
prime_list.append(element)
break
return prime_list
result = find_prime_list_under_number(input)
print(result)
ㅋㅋ아 정말 짤을 잘쓰시네요
2주차 숙제 내셨다는게 정말 대단해요!!