알고리즘/BOJ

알고리즘/BOJ

[백준] 11729 하노이 탑 이동 순서(Python)

해당 게시글에서는 [백준] 11729 하노이 탑 이동 순서 문제를 해설하고 Python을 이용하여 풀고자 한다. 💡 문제 풀이 11729번 문제는 재귀(recursion)로 유명한 하노이 탑 문제에 해당한다. 해당 문제에서는 입력된 초기 원판의 개수에 대해 하노이 탑 규칙에 따라 모든 원판을 이동시킬 때 옮긴 횟수(K)와 이동 경로를 출력해야 한다. 하노이 탑을 재귀적으로 구현하기 위해 원판 개수에 따라 반복되는 과정이 있는지 고민하는 시간을 가졌으며, 그 결과는 다음과 같다. N개의 원판을 모두 옮기기 위해, 먼저 N-1개의 원판(가장 큰 원판을 제외한 나머지)을 다른 장대로 옮긴다. 가장 큰 원판을 세 번째 장대로 옮긴다. 이전에 옮긴 N-1개의 원판을 세 번째 장대로 옮긴다. 위의 내용을 통해 재귀..

알고리즘/BOJ

[백준] 14051 퇴사(Python)

해당 게시글에서는 [백준] 14501 퇴사 문제를 해설하고 Python을 이용하여 풀고자 한다. 🤔 접근법 문제 풀이 방식을 빠르게 알고싶다면 💡문제 풀이 부분 부터 봐주세요 :) 필자는 본인의 힘으로 해당 문제를 풀지 못했다. 따라서 이후에 유사한 문제를 볼 때 기억이 더 잘 나도록 블로깅을 하려고 한다. 14501번 문제는 DP(다이나믹 프로그래밍)에 대한 문제로 복잡한 문제를 간단한 여러 개의 문제로 나누어 푸는 방법하는 방식의 알고리즘이다. 현재 바킹독의 알고리즘 문제집을 참고하여 알고리즘 별로 문제를 풀고있기 때문에 이 문제가 DP 문제라는 것을 알고 있었다. 문제를 읽어가며 최대 수익을 내기 위한 방법을 찾으려고 시도했지만 실패했다. 같은 일에 상담을 하더라도 Ti에 저장된 값이 다르면 수익을..

알고리즘/BOJ

[백준] 11726 2xn 타일링(Python)

해당 게시글에서는 [백준] 11726 2xn 타일링 문제를 해설하고 Python을 이용하여 풀고자 한다. 🤔 접근법 문제 풀이 방식을 빠르게 알고싶다면 💡문제 풀이 부분 부터 봐주세요 :) 11726번 문제는 DP(다이나믹 프로그래밍)에 대한 문제로 복잡한 문제를 간단한 여러 개의 문제로 나누어 푸는 방법하는 방식의 알고리즘이다. 현재 바킹독의 알고리즘 문제집을 참고하여 알고리즘 별로 문제를 풀고있기 때문에 이 문제가 DP 문제라는 것을 알고 있었다. 하지만 해당 문제를 처음 접했을 때는 DP 문제라는 게 도저히 와닿지 않았다. 결과적으로 혼자 풀긴 했지만 만약 DP 문제인 것을 몰랐더라면? 나는 못 풀었을 것이라고 생각한다. DP 문제의 경우 제시한 상황에 대한 규칙, 즉 점화식만 알면 어렵지 않기 때..

당찬 뱁새
'알고리즘/BOJ' 카테고리의 글 목록 (3 Page)