본문 바로가기

Python Algorithm

(3)
[LeetCode Problems 풀이] 746. Min Cost Climbing Stairs 앞서 배운 "다이나믹 프로그래밍" 알고리즘 유형의 문제입니다. 아래 문제를 번역하기보다는 제가 이해한 대로 작성해보고자 합니다.You are given an integer array cost where cost[i] is the cost of ith step on a staircase. Once you pay the cost, you can either climb one or two steps.You can either start from the step with index 0, or the step with index 1.Return the minimum cost to reach the top of the floor.Example 1: Input: cost = [10,15,20] Output: 15 E..
[LeetCode Problems 풀이] 70. Climbing Stairs Climbing Stairs 문제를 풀기에 앞서 알고리즘에 대해 공부해보고자 합니다. 알고리즘 유형 중 "다이나믹 프로그래밍"에 해당하는 문제이며, 한 번 계산한 문제는 다시 계산하지 않도록 하는 알고리즘입니다. "다이나믹 프로그래밍"으로 해결할 수 있는 대표적인 예시로 피보나치 수열이 있습니다. $$a_n=a_{n-1} + a_{n-2}, a_1 = 1, a_2 =1$$위와 같은 식을 프로그래밍으로 표현하면 재귀함수를 이용해 다음과 같습니다. fibo()함수 안에서 1과 2가 아닌 값이 들어오면 이전 값을 가지는 fibo()함수를 안에서 다시 불러오는 피보나치수열 소스코드입니다. def fibo(x): if x==1 or x==2: return 1 return fibo(x-1) + fibo..
[LeetCode Problems 풀이] 9. Palindrome Number LeetCode는 모범 답안이나 다른 사용자들의 답안을 제공하는 코딩 플랫폼입니다. LeetCode에서 문제를 열면, 아래와 같은 화면이 보이는데요, Description 탭에는 문제 설명, Editorial 탭은 LeetCode에서 제공하는 정석 풀이 및 설명 영상, Solutions는 다른 사용자들의 답변이며 조회수를 확인해서 볼 수 있습니다. 마지막으로 Submissions은 제가 제출한 기록을 볼 수 있는 탭입니다. 저는 주요 답안을 참고해서 제가 새로 작성한 모범 풀이를 본 글에 작성하였습니다. Palindrome은 앞으로 읽으나 뒤로 읽으나 똑같은 문자, 숫자 등을 나타내는 단어입니다. '내 이름은 이효리, 거꾸로 해도 이효리', '기러기, 토마토, 우영우' 같은 예시를 들 수 있겠네요. 임의..