Coding Test (4) 썸네일형 리스트형 버블 정렬 알고리즘 GPT 설명 작동 원리인접한 두 원소를 비교하여 순서가 잘못되어 있으면 교환합니다.이 과정을 배열의 끝까지 반복합니다.한 번의 패스(pass)가 끝나면 가장 큰 원소가 맨 뒤로 이동합니다.이를 배열이 정렬될 때까지 반복합니다.시간 복잡도최악의 경우: O(n^2)평균 경우: O(n^2)최선의 경우: O(n) (이미 정렬된 경우)공간 복잡도: O(1) (추가 메모리를 거의 사용하지 않음) 장단점장점:구현이 매우 간단합니다.추가 메모리를 거의 사용하지 않습니다.단점:대규모 데이터셋에 대해 비효율적입니다.다른 정렬 알고리즘에 비해 일반적으로 느립니다.버블 정렬은 교육 목적으로 자주 사용되지만, 실제 애플리케이션에서는 더 효율적인 알고리즘을 선호합니다. 나만의 정리 쉽게 말해 한번의 루프 1~n까지 돌때 각각 .. 백준 BOJ [DP] 1149번 RGB거리 DP 문제를 해결하기 위한 큰 관문중 하나는 DP의 점화식을 세우는 것이다. DP로 풀수 있는지 여부는 제약에 따라 달린다.1. 현재값의 최선이 이전 계산된 결과값이랑 합산인것 DP의 필요조건은 이전의 계산된 결과값을 현재값과 적용해서 구하는것 기존의 DP 문제와 차이점이라면 현재의 결과값이 3가지로 나뉘는것이다.빨강,초록,파랑 그리고 과거 값도 3가지 선택에 따라 각각 선택된 색을 제외한 결과값중 최소값을 선택해서 합산하는것으로 나뉘어진다. def min_cost(n,costs): dp = [[0]* 3 for _ in range(n)] dp[0] = costs[0] for i in range(1,n): # 현재 빨간색 칠했을떄 과거값 구해진거 중 빨간색 제외한 나머지 두.. [백준 24416번 DP Python] 알고리즘 수업 - 피보나치 f[2] 할당을 하지않고 for range( 범위를 2부터 해도 결과는 나오지만 횟수 출력을 위해 1,2, 할당 def fib_dp(n): # 세팅 f=[0]* (n+1) f[1]= f[2]=1 count = 0 for i in range(3,n+1): f[i]=f[i-1]+f[i-2] count+=1 return f[n],count n= int(input()) result_fib,count_fib=fib_dp(n) print(result_fib,count_fib) 백준 [2903번] 중앙 이동 알고리즘 이전 알고리즘 N = int(input()) arr = [0 for i in range(16)] b = 1 a = 2 for i in range(1,16): a += b arr[i] = pow(a, 2) b *= 2 print(arr[N]) 내 알고리즘 N= int(input()) def fact(start,count): count -= 1 if count==0: return pow(3, 2) if count==1: return pow(2*start-1, 2) return fact(2*start-1,count) print(fact(3,N)) 이전 1 다음