일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- udemy
- Cleancode
- greedy
- DP
- JavaScript
- BOJ
- sorting
- String
- 백준
- server
- C
- php
- graph
- Algorithm
- BASIC
- 정수론
- 따라하며 배우는 C언어
- 따배씨
- 종만북
- 따라하면서 배우는 C언어
- Algospot
- 생활코딩
- programmers
- BFS
- Math
- 인프런
- dfs
- Python
- web
- C언어
- Today
- Total
목록분할정복 (5)
몽상실현개발주의
[BOJ] 2448 / 별 찍기 - 11 / Python 파이썬 https://www.acmicpc.net/problem/2448 2448번: 별 찍기 - 11 첫째 줄에 N이 주어진다. N은 항상 3×2k 수이다. (3, 6, 12, 24, 48, ...) (0 ≤ k ≤ 10, k는 정수) www.acmicpc.net 풀이 [BOJ] 2447 / 별 찍기 와 같은 프랙탈 문제이다. 기본 모양을 두고, 그 모양을 이용하여 다음 모양을 만들어 가는 것을 진행하였다. 주어진 모양의 삼각형의 아래에 왼쪽과 오른쪽 두쌍의 삼각형을 만들고 전체 모양을 만들기 위해 주어진 삼각형에 공간을 삽입하여 구조를 만들어 주었다. N = int(input()) tri = [" * ", " * * ", "*****"] N =..
[BOJ] 2447 / 별 찍기 - 10 / Python 파이썬 https://www.acmicpc.net/problem/2447 2447번: 별 찍기 - 10 재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별이 www.acmicpc.net 풀이 부분의 구조가 반복되어 전체의 구조를 만드는 프랙탈 문제이다. 기본 모형을 분할정복으로 구성해 나가며 해결하여야 한다. 하지만 실제로 구현하는것이 너무 어렵게 느껴졌고, 다른분들의 풀이를 참고 하였지만 이해하는데 꽤 시간이 걸렸다. (그 이유로 몇일간 다른 풀이 및 블로그 포스팅을 하지 못하였다...)..
[BOJ] 11729 / 하노이 탑 이동 순서 / Python 파이썬 https://www.acmicpc.net/problem/11729 11729번: 하노이 탑 이동 순서 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 www.acmicpc.net 풀이 유명한 하노이의 탑 문제를 부할정복으로 푸는 문제이다. 마지막 원판을 3번 장대로 옮기기 위한 방법은 다음과 같다. 마지막 원판을 제외한 원판을 2번 장대로 옮기기 마지막 원판을 3번 장대로 옮기기 2번 장대의 모든 원판을 3번 장대로 옮기기 그리고 마지막 원판을 옮기기 위해서는 그 이전의 원판들의 작업이 진행..
[BOJ] 1780 / 종이의 개수 / Python 파이썬 https://www.acmicpc.net/problem/1780 1780번: 종이의 개수 N×N크기의 행렬로 표현되는 종이가 있다. 종이의 각 칸에는 -1, 0, 1의 세 값 중 하나가 저장되어 있다. 우리는 이 행렬을 적절한 크기로 자르려고 하는데, 이때 다음의 규칙에 따라 자르려고 한다. www.acmicpc.net 풀이 [BOJ] 1992 / 쿼드트리 문제의 심화 문제이다. 쿼드트리에서는 주어진 2차원 배열을 2x2 분할 하였다면, 이번 문제에서는 3x3으로 분할 하여 해결 하였다. import sys input = sys.stdin.readline N = int(input()) maps = [] for _ in range(N): maps..
[BOJ] 1992 / 쿼드트리 / Python 파이썬 https://www.acmicpc.net/problem/1992 1992번: 쿼드트리 첫째 줄에는 영상의 크기를 나타내는 숫자 N 이 주어진다. N 은 언제나 2의 제곱수로 주어지며, 1 ≤ N ≤ 64의 범위를 가진다. 두 번째 줄부터는 길이 N의 문자열이 N개 들어온다. 각 문자열은 0 또 www.acmicpc.net 풀이 분할정복의 기본적인 문제이다. 재귀를 이용하여 가장 작은 부분문제를 해결하는 것으로 전체의 문제를 해결 할 수 있었다. 전체가 같은지 조건을 검사 조건에 부합하지 않다면, 1 - 2 - 3- 4 분면으로 나누기 나눠진 4분면들을 각각 검사 조건에 부합하지 않다면, 1 - 2 - 3- 4 분면으로 나누기 부분 문제가 가장 작은..