PS/재귀5 [백준] 1991번: 트리순회 파이썬 https://www.acmicpc.net/problem/1991 1991번: 트리 순회 첫째 줄에는 이진 트리의 노드의 개수 N(1 ≤ N ≤ 26)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 노드와 그의 왼쪽 자식 노드, 오른쪽 자식 노드가 주어진다. 노드의 이름은 A부터 차례대로 알파 www.acmicpc.net 재귀함수돌때 언제 출력해야하는지만 유의하면 쉬운 문제! 풀이 전위 순회는 출력하고 왼오 중위 순회는 왼 출력하고 오 후위 순회는 왼오하고 출력 트리는 그냥 딕셔너리로 저장.. def preorder(x): print(x, end="") if tree[x][0] != ".": preorder(tree[x][0]) if tree[x][1] != ".": preorder(tree[x][1]).. 2024. 2. 28. [백준] 2448번: 별 찍기 - 11 파이썬 https://www.acmicpc.net/problem/2448 2448번: 별 찍기 - 11 첫째 줄에 N이 주어진다. N은 항상 3×2k 수이다. (3, 6, 12, 24, 48, ...) (0 ≤ k ≤ 10, k는 정수) www.acmicpc.net 호기롭게 고른 골드4짜리 문제... ...어려웠다.. 힌트보고 똥꼬쇼하고 겨우겨우 풀었다... 좌표 이거 직접 그려서 일일히 적어봐야 규칙이 보일랑말랑했다.. 지능낮아서 힘들다.. 풀이 일단 별을 그려넣을 큰 배열을 만든다. 재귀함수 인자로 n, x좌표, y좌표를 받는다.. star(n//2, x, y) star(n//2, x+n//2, y- n//2) star(n//2, x+n//2, y + n//2) 이부분은 직접 좌표그려서 계산했다.. 그리고 .. 2024. 2. 28. [백준] 1992번: 쿼드트리 파이썬 https://www.acmicpc.net/problem/1992 1992번: 쿼드트리 첫째 줄에는 영상의 크기를 나타내는 숫자 N 이 주어진다. N 은 언제나 2의 제곱수로 주어지며, 1 ≤ N ≤ 64의 범위를 가진다. 두 번째 줄부터는 길이 N의 문자열이 N개 들어온다. 각 문자열은 0 또 www.acmicpc.net 또 저번에 푼 2630번과 유사한 문제입니다! 2630번에서는 4등분하면서 나눠진 색종이의 개수를 세는 문제였는데 이번엔 4등분하면서 바로바로 출력하면 됩니다! 이 문제에서 제일 헷갈린 부분이 어느 시점에서 괄호를 출력하느냐 였는데요.. 조금만 생각 하면 간단해요! 풀이 2630번 문제처럼 배열을 검사하면서 동일하지않은 색상이나오면 재귀를 이용해서 4등분합니다! 재귀를 시작할때 괄호를.. 2024. 2. 28. [백준] 1780번: 종이의 개수 파이썬 https://www.acmicpc.net/problem/1780 1780번: 종이의 개수 N×N크기의 행렬로 표현되는 종이가 있다. 종이의 각 칸에는 -1, 0, 1 중 하나가 저장되어 있다. 우리는 이 행렬을 다음과 같은 규칙에 따라 적절한 크기로 자르려고 한다. 만약 종이가 모두 같은 수 www.acmicpc.net 이 문제는 저번에 푼 2630번 색종이 문제와 매우 유사합니다! 종이를 4등분 > 9등분 색이 2개 > 3개 그래서 전에 쓴 코드를 아주 살짝 수정했습니다! def paper(a, b, n): global mone, zero, one color = field[a][b] for i in range(a, a+n): for j in range(b, b+n): if color != field[.. 2024. 2. 28. 이전 1 2 다음