재귀

Python

[파이썬] sys.setrecursionlimit - 코딩테스트 TIP

파이썬에서는 재귀의 깊이가 기본적으로 1000으로 제한이 있다고 한다.하지만, 코딩테스트(알고리즘) 문제를 풀다보면 이 이상을 재귀를 돌아야 하는 경우가 있다. 그때 재귀의 깊이 제한을 변경할 수 있는 코드가 sys.setresursionlimit이다.import syssys.setrecursionlimit(10 ** 6) 아래 첨부된 코드를 풀면서 재귀 깊이 제한을 변경하는 방법에 대해 알게 됐다. [백준] 9466 텀 프로젝트(GOLD 3 - Python)해당 글에서는 텀 프로젝트 문제를 Python을 이용해 풀이하고자 한다. 9466번: 텀 프로젝트이번 가을학기에 '문제 해결' 강의를 신청한 학생들은 텀 프로젝트를 수행해야 한다. 프로젝트 팀원da-y-0522.tistory.com 실제 위 문제에서..

알고리즘/BOJ

[백준] 2447 별 찍기 - 10(Python)

해당 게시글에서는 [백준] 2447 별 찍기 - 10 문제를 해설하고 Python을 이용하여 풀고자 한다. 💡 문제 풀이 2447번 문제는 별 찍기 문제이다. 처음에 문제를 읽었을 때 단번에 이해가 되지 않았다. 지문과 예제를 동시에 보며 조금 고민하고 나서야 문제가 이해됐다. 단계별로 풀어보기 카테고리를 통해서 들어왔기 때문에 해당 문제가 재귀(recursion)와 관련된 문제인 걸 알고 있었다. 그래서 재귀적으로 해당 문제를 풀기 위해 근접한 입력값들에 대해 어떤 규칙이 있는지 생각해 봤으며, 그 결과 다음과 같은 결론을 내릴 수 있었다. N을 출력하기 위해선 N//3의 출력 결과가 필요하다. N을 출력할 때는 N/3의 출력을 3번씩 3줄에 걸쳐 출력하면 된다. 이때 2줄의 2번째 출력은 공백이어야 ..

알고리즘/BOJ

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

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

당찬 뱁새
'재귀' 태그의 글 목록