Tech/Algorithm 4

백준 1149 rgb 거리 [python]

💡아이디어n개의 집을 rgb로 가지는 2차원 배열을 만들어서 최적 탐색을 한다  풀이과정먼저 arr 변수에 n개의 집을 이차원 배열로 만들어준다rgb 배열의 탐색 할 dp 배열을 초기화 해준 후 반복문을 통해 최솟값을 구하면 된다 코드import sysinput = sys.stdin.readlinen = int(input())arr = [list(map(int, input().split())) for _ in range(n)]dp = [[0] * 3 for _ in range(n + 1)] # dp[n]까지 만들기 위해 n+1 크기로dp[0] = [0, 0, 0] # 1번째 집부터 n번째 집까지 dp 채우기for i in range(1, n + 1): dp[i][0] = min(dp[i-1][..

Tech/Algorithm 2025.04.07

백준 1914 하노이 탑 [python]

💡아이디어하노이탑 이동원리를 까먹어서..풀이 블로그를 참고했다n이 원판 개수일 때, 하노이 탑의 이동횟수 공식은 2 ^ (n-1) 이다 a / b / c 번 기둥이 있을 때1 > 1번 기둥에 n개의 원판이 있을때 가장 밑 원판을 제외한 n-1개의 원판을 보조기둥(b번)으로 옮긴다2 > 가장 밑 원판을 목표기둥(c번)으로 옮긴다3 > 보조기둥에 있는 n-1개의 원판을 목표기둥으로 옮긴다 이를 재귀함수로 구현하면 되는 문제였다. # n == 1 일때기둥 1에서 바로 기둥 3으로 옮기면 이동횟수는 1번이다.  # n > 1 일때 풀이 과정입력 : 원판 개수출력 : 이동 횟수 / 이동과정 (n  1. n-1 판을 보조 탑으로 옮김2. 1개 판만 목표 탑으로 옮김3. n-1개의 판을 목표 탑으로 옮김4. 1~3..

Tech/Algorithm 2025.03.23

[자료구조] 재귀함수, 정렬

1. 재귀함수(Recursive Function)함수 안에서 자기 자신을 다시 호출하는 기법함수 호출이 반복되다가 기저조건이 만족되면 호출을 중단하고 결과를 반한환다  재귀함수의 종료 조건재귀 함수를 풀이에 사용할 때는 재귀 함수의 종료 조건을 반드시 명시해야 한다종료조건을 명시하지 않을 시에는 함수가 무한히 호출된다def recursive_fun(): print('재귀함수 호출') recursive_fun() recursive_fun()[출력]재귀함수 호출재귀함수 호출재귀함수 호출재귀함수 호출재귀함수 호출재귀함수 호출재귀함수 호출재귀함수 호출재귀함수 호출......... 재귀함수의 구성기저 조건(종료조건)재귀 호출을 중단하는 조건코드가 무한 루프에 빠지지 않도록 방지하며, 일반전으로 간단한 ..

Tech/Algorithm 2025.03.16