[알고리즘 개념] DP(Dynamic Programming), 대체 뭘까
·
Algorithm
오랜만에 알고리즘 공부를 다시 시작하고 있다.그런데... 다 잊었다! 다시 복습해보자!  1. 동적 계획법(Dynamic Programming, DP)란? 큰 문제를 작은 문제로 나누어 푸는 방식이다.문제를 풀기 위해 작은 문제의 결과를 저장해두고, 같은 문제를 다시 풀 필요가 없도록 한다. 동적 계획법은 보통 재귀적 문제 해결에서 사용되는데, 단순히 재귀만 사용하는 것보다 훨씬 효율적이다.재귀는 큰 문제를 풀기위해 동일한 작은 문제를 반복해서 호출하는 방식인데,DP는 이미 계산한 값은 저장해두고 재사용하므로, 동일한 계산을 반복하지 않는다. 2. 왜 동적 계획법을 사용할까? 일반적인 재귀방식은 같은 계산을 여러 번 반복하여 비효율적이다.예를 들어, 피보나치 수열을 재귀로 계산할 때, fibonacci(..
[ Python ] 파이썬 순차 탐색 문제 코드 | 순차 탐색 알고리즘 | 파이썬 알고리즘
·
Archive/Develop
이 포스팅은 구름edu 의 파이썬으로 배우는 알고리즘 강의를 기반으로 코드를 작성했음을 밝힙니다. edu.goorm.io/learn/lecture/22654/%ED%8C%8C%EC%9D%B4%EC%8D%AC%EC%9C%BC%EB%A1%9C-%EB%B0%B0%EC%9A%B0%EB%8A%94-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EA%B8%B0%EC%B4%88 파이썬으로 배우는 알고리즘 기초 - 구름EDU 실행 가능한 파이썬 소스 코드로 실용적으로 배우는 알고리즘 edu.goorm.io 파이썬 순차탐색 문제 문제 : 어떤 수 x 가 n 개의 수로 구성된 리스트 S에 존재합니까? 해답 : x 가 존재하면 x의 인덱스가 출력되고, 존재하지 않으면 0이 출력된다. 파라미터 : 0보다..
[ Python ] 백준 3046번 R2 풀이
·
Archive/Develop
www.acmicpc.net/problem/3046 3046번: R2 두 숫자 R1과 R2가 있을 때, 두 수의 평균 S는 (R1+R2)/2와 같다. 상근이는 정인이 생일 선물로 두 숫자 R1과 R2를 주려고 한다. 생일 파티에서 상근이는 정인이에게 이 두 숫자를 말해주고, 정인이는 www.acmicpc.net 문제는 이러합니다. 두 숫자 R1과 R2가 있을 때, 두 수의 평균 S는 (R1+R2)/2 입니다. 따라서 R2 = S*2 - R1 입니다. [ Code ] r1,s=input().split() print(int(s)*2-int(r1))
[ Python ] 백준 2588번 곱셈 풀이
·
Archive/Develop
www.acmicpc.net/problem/2588 2588번: 곱셈 첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다. www.acmicpc.net 문제는 이러합니다. 편의상 첫번째 입력되는 수를 a라 하고, 두번째 입력되는 수를 b 라고 칭하겠습니다. (3), (4), (5), (6) 번에 들어갈 수를 생각해봅시다. (3)번의 경우, b의 일의 자리 숫자와 a가 곱해진 수입니다. (4)번의 경우, b의 십의 자리 숫자와 a가 곱해진 수입니다. (5)번의 경우, b의 백의 자리 숫자와 a가 곱해진 수입니다. 그렇다면 b의 일의 자리 수와 십의 자리 수, 백의 자리 수를 각각 구할 수 있어야겠네요. b의 일의 자리 수는 b를 10으로 나눈 나머지값 입니다. b의 ..