[수업]Bitmap
문제
풀이
BtoD 는 압축이고, DtoB는 푸는것인데, 이 두 함수를 만들어야 한다.
손으로 풀어보고, 원리를 이해할것.
<1. B to D 손으로 풀어본 것>
입력
B 3 4 -> 형식과 치수제공
001000011011 -> 비트맵
출력
D 3 4
D0D1001D101
- 입력 B
B
0 0 1 0
0 0 0 1
1 0 1 1
- 출력과정 D
D
0 0 1 0
0 0 0 1
1 0 1 1
=> D
1번째 분기
0 0 1 0
0 0 0 1
1 0 1 1
=> 0 D
2번째 분기
1 0
0 1
1 0 1 1
=> 1 0 0 1 D
3번째 분기
1 0 1 1
=> 1 0 1
결론 : BtoD = D0D1001D101
<2. D to B 손으로 풀어본 것>
입력 :
D 2 3
DD10111
출력 :
1 0 1 1 1 1
0 0 0
0 0 0
- 입력 D
D 1번
0 0 0
0 0 0
D 2번
0 0 0
0 0 0
삽입
1 0 1
1 1 1
- 출력과정 B
결론 : 1 0 1 1 1 1
따라서 재귀를 왼쪽 상단, 오른쪽 상단, 왼쪽 하단, 오른쪽 하단 으로 4부분으로 나눠서 해주는 형식으로 코드를 작성해야 한다.
- 위 과정만 이해한다면 충분히 구현은 어렵지 않다.(4부분 재귀로)
댓글남기기