쿼드트리

    백준 1992 풀이 (쿼드트리, 파이썬)

    백준 1992 풀이 (쿼드트리, 파이썬)

    저번에 풀었던 2630 색종이 만들기 문제랑 동일하다. 다만 조금 다른점은 스트링으로 만들어주고, 어떤 포맷을 추가해주어야한다. 백준 2630 풀이 (색종이 만들기, 쿼드트리, 분할정복, 파이썬) 이 문제는 크게 어렵지는 않았다. 예전에 재귀를 처음 다뤘을때가 생각이 났다. 약 한달전이었지 그때 정말 재귀가 너무 어려워서 마치 재귀란 도대체 왜 이렇게 어려운지 마귀의 친구인가 했던 guccin.tistory.com 위의 데이터를 "(0(0011)(0(0111)01)1)" 로 나타내야 하는데 순서는 왼쪽위, 오른쪽위, 왼쪽아래, 오른쪽 아래다. 1. 만약 통일되지 않은 배열인 경우 "(" ")"가 추가된다. 2. 만약 통일되지 않은 배열인 경우 4분면으로 나누어 통일되었는지 검사한다. 3. 만약 통일되어 ..

    백준 2630 풀이 (색종이 만들기, 쿼드트리, 분할정복, 파이썬)

    백준 2630 풀이 (색종이 만들기, 쿼드트리, 분할정복, 파이썬)

    이 문제는 크게 어렵지는 않았다. 예전에 재귀를 처음 다뤘을때가 생각이 났다. 약 한달전이었지 그때 정말 재귀가 너무 어려워서 마치 재귀란 도대체 왜 이렇게 어려운지 마귀의 친구인가 했던..... 여튼 문제는 간단하다. 종이가 있는데 이 종이를 4분면씩 잘라서 전부 1이나 0이면 카운트를 하나씩 증가 시켜서 1종이, 0종이의 개수를 구하면 되는 것이다. 그럼 생각해보자. 우선 전부 통일된 숫자인지 파악해야한다. 만약 통일되지 않으면 4분면으로 잘라서 전부 통일된 숫자인지 파악해야한다. 만약 통일되지 않으면 4분면으로 잘라서 통일된 숫자인지 파악해야한다. 만약 통일되지 않으면 4분면.......딱 봐도 재귀다. 그래서 재귀함수를 대충 짜주면 된다. 이번에 귀찮았던것은 numpy를 쓰지 않고 4분면으로 자르..