반응형

분할정복 2

[백준] 1074번 Z 자바 (분할정복)

목차 https://www.acmicpc.net/problem/1074 1074번: Z 한수는 크기가 2N × 2N인 2차원 배열을 Z모양으로 탐색하려고 한다. 예를 들어, 2×2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다. N > 1인 경우, 배열을 www.acmicpc.net 문제풀이 시간초과 보드를 반복적으로 4등분하여 Z 모양으로 읽어야한다. 분할정복을 생각해서 풀었지만.. 시간초과가 발생한다. 탐색 범위 좁히기 문제를 다시 살펴보자 61을 찾으려면 굳이 모든 부분을 탐색해야할까? 아니다. 4등분한 우측하단으로 범위를 좁히고 다시 우측하단으로 범위를 좁혀서 Z 탐색하면된다. 그럼 61(6, 7)이 우측하단에 위치하는 것을 어떻게 찾아내면될까? N이 8..

🎯 Coding Test 2022.02.24

[백준] 2630번 색종이 만들기 자바 (분할정복)

목차 https://www.acmicpc.net/problem/2630 2630번: 색종이 만들기 첫째 줄에는 전체 종이의 한 변의 길이 N이 주어져 있다. N은 2, 4, 8, 16, 32, 64, 128 중 하나이다. 색종이의 각 가로줄의 정사각형칸들의 색이 윗줄부터 차례로 둘째 줄부터 마지막 줄까지 주어진다. www.acmicpc.net 문제풀이 분할정복은 재귀함수를 사용하여 문제를 해결할 수 있을 때까지 하위문제로 나누어 문제를 해결하고, 결과를 다시 전체에 합치는 방법이다. 1번째는 모든 좌표를 대상으로 2중 for문을 돌려 색을 판단한다. => 모두 같다면 색깔에 맞게 저장 => 하나라도 다른 색깔이 있다면 4분할 좌측상단 : x는 0~4까지, y는 0~4까지 탐색 좌측하단 : x는 0~4까지..

🎯 Coding Test 2022.02.22
반응형