재귀16 [백준 1074] Z www.acmicpc.net/problem/1074 1074번: Z 한수는 크기가 2N × 2N인 2차원 배열을 Z모양으로 탐색하려고 한다. 예를 들어, 2×2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다. 만약, N > 1이 라서 www.acmicpc.net 재귀함수를 사용하는 문제이다. 재귀함수는 아무리 풀어도 익숙해지지가 않는듯하다 사실 이 문제는 재귀함수를 따로 정의하기 보다 while문 돌리는게 편했다. 1. 재귀함수 사용 기저 조건은 한 변의 길이가 2인 정사각형일때이다. cnt의 초기값을 0으로 설정하여 기저 조건에 도달할 때마다 4씩 더해준다. 재귀함수 내 재귀함수 호출은 z모양으로 발생한다. #include using namespace std;.. 2020. 12. 13. [백준 1992] 쿼드트리 www.acmicpc.net/problem/1992 1992번: 쿼드트리 첫째 줄에는 영상의 크기를 나타내는 숫자 N 이 주어진다. N 은 언제나 2의 제곱수로 주어지며, 1≤N ≤64의 범위를 가진다. 두 번째 줄부터는 길이 N 의 문자열이 N 개 들어온다. 각 문자열은 0 또는 www.acmicpc.net 재귀문제이다. 이전 문제와 약간의 차이가 있다면 (를 추가로 붙이는 거 정도 이전과 동일하게 압축할 정사각형의 길이, 정사각형 시작점을 인자로 받는다. 헷갈렸던 점은 (를 어디에 붙여야 하나...했던 점이다. (,)는 압축한 횟수 만큼 추가되므로 4개로 나눠서 압축을 시작하는 전후에 붙여주면 된다. #include using namespace std; char arr[65][65]; int n; b.. 2020. 12. 13. [백준 5904] Moo 게임 www.acmicpc.net/problem/5904 5904번: Moo 게임 Moo는 술자리에서 즐겁게 할 수 있는 게임이다. 이 게임은 Moo수열을 각 사람이 하나씩 순서대로 외치면 되는 게임이다. Moo 수열은 길이가 무한대이며, 다음과 같이 생겼다. m o o m o o o m o o m o o o www.acmicpc.net 나이브하게 접근하면 tle 뜬다 변수를 사용하지 않고 같은 로직을 사용해도 런타임에러 뜬다...왜지.... 접근방법: k번째 moo 수열 S(k)은 크게 A, B, C 세 부분으로 구성된다. S(k-1 ) + (m + o * (k+2)) + S(k-1) k-1번째 수열이 앞뒤로 있고 중간에 m하나와 o가 k+2개 존재한다. 이 점을 사용하여 n의 값에 따라 적절한 위치로 n을.. 2020. 12. 12. [백준 1780] 종이의 개수 www.acmicpc.net/problem/1780 1780번: 종이의 개수 N×N크기의 행렬로 표현되는 종이가 있다. 종이의 각 칸에는 -1, 0, 1의 세 값 중 하나가 저장되어 있다. 우리는 이 행렬을 적절한 크기로 자르려고 하는데, 이때 다음의 규칙에 따라 자르려고 한다. www.acmicpc.net 정답률도 비교적 높고 쉬웠던 문제! 종이가 정사각형 모양으로 계속 잘리므로 길이를 /3해서 진행해준다. #include #include using namespace std; int n; int arr[3000][3000]; int answer[3]; bool isValid(int len, int row, int col) { int cmp = arr[row][col]; for (int i = row; .. 2020. 12. 12. 이전 1 2 3 4 다음