본문 바로가기
반응형

재귀5

[백준 18222] 투에-모스 문자열 투에-모스 문자열(18222)문제 출처 : https://www.acmicpc.net/problem/18222 k를 입력 받아 그 값이 0인지, 1인지를 찾는 문제 입니다. 재귀로 풀 수 있는 문제로 재귀를 이제 막 배웠다면 조금 어려울 수 있습니다.문제 이해하기문자열 x는 10 ** 18 이라는 엄청난 크기를 가지고 있습니다. 따라서 하나 하나 계산 해서는 답을 구할 수 없습니다. 문자열 x는 두 배씩 커지면서 매 번 값이 반전된다는 것을 이용하면 문제를 좀 더 쉽게 해결 할 수 있습니다.문제를 이해하기 위해 x를 만들어 보겠습니다. 처음 x는 0 입니다.0이제 x를 반전해서 이어 붙여 줍니다.0 1다음 역시 x를 반전해서 이어 붙여 줍니다.0 1 1 0이것의 길이를 두 배씩 늘려주면 다음과 같습니다0.. 2024. 11. 23.
[백준 2447] 별 찍기 - 10 별 찍기 - 10 (2447)문제 출처 : https://www.acmicpc.net/problem/2447 반복문에 대해 처음 배웠을 때 시작하는 것이 별 찍기 입니다. 아직 별 찍기가 무엇인지 잘 모른다면 아래 링크를 통해 별 찍기가 무엇인지 알아보기 바랍니다.https://wikidocs.net/192041 03. 별 찍기# 별 찍기 별 찍기는 반복문을 제대로 익히기에 아주 좋은 방법입니다. 숫자를 입력받고, 해당 숫자에 맞게 별이 찍히는 프로그램을 작성하는 것입니다. 가령 5를 입력하면 첫 번…wikidocs.net 백준에는 다양한 별 찍기 문제가 있으니 아직 별 찍기 이전 문제들을 풀어보지 못했다면 풀어보시기 바랍니다. 아래 링크를 들어가면 여러 가지 형태의 별 찍기 문제를 볼 수 있습니다.ht.. 2024. 11. 18.
[백준 4779] 칸토어 집합 문제 출처 : https://www.acmicpc.net/problem/4779 이 문제는 재귀함수나 분할정복으로 구현할 수 있는 문제 입니다. 다빈치코딩 알고리즘 재귀 부분에 이 문제가 없어 아무 생각없이 작성했는데 분할 정복에서 이미 작성해 놓았다는 것을 알았습니다. 분할정복과 재귀 두 방법을 비교해 보면서 확인해 보시기 바랍니다. 분할 정복으로 푼 방법 : https://wikidocs.net/206410 02. 칸토어 집합[백준 4779]# 칸토어 집합(4779) 문제 출처 : [칸토어 집합](https://www.acmicpc.net/problem/4779) 3등분으로 분할 정복하는 문제 입니다. 주어진 길이…wikidocs.net 칸토어 집합이란 0과 1 사이를 삼등분 해나가면서 가운데 부분을.. 2024. 10. 1.
백준 파이썬 RecursionError 재귀함수 문제를 풀다보면 가끔 RecursionError라는 것이 발생 합니다. 재귀함수가 계속 실행되면 파이썬 입장에서는 무한루프에 빠진것이 아닌가하는 생각을 하게 됩니다. 그래서 일정 수준의 재귀함수가 호출된다면 에러가 발생하게 됩니다. 재귀 최대 깊이 확인하기 파이썬이 정한 최대 재귀 함수의 깊이는 아래 코드로 확인할 수 있습니다. import sys print(sys.getrecursionlimit()) DFS, 다이나믹 프로그래밍등을 재귀로 구현했다면 파이썬이 정한 최대 깊이로는 에러가 발생할수 밖에 없습니다. 따라서 이 문제는 재귀함수가 많이 호출될 거라는 것을 알려주어야 RecursionError가 발생하지 않습니다. 재귀 최대 깊이 수정하기 재귀의 최대 깊이를 수정하는 방법은 아래와 같습니.. 2023. 9. 7.
[백준 11729] 하노이 탑 이동 순서(파이썬) 문제 출처 : https://www.acmicpc.net/problem/11729 11729번: 하노이 탑 이동 순서 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 www.acmicpc.net 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 하노이 탑은 프랑스 수학자 에두아르 뤼카(Edouard Lucas)가 발표한 게임 입니다. 왼쪽의 읬는 원판을 오른쪽 원판으로 이동시켜야 합니다. 이 때 다음의 규칙이 적용되어야 .. 2023. 8. 24.
반응형