Gaegul's devlog
[Algorithm 풀이] 완전탐색: ColorPaper 본문
728x90
반응형
[완전 탐색 대표문제]
이번 문제는 색종이들의 넓이를 구하는 문제이다. (겹치는 부분을 처리하는 것이 관건인 문제!!)
입력 :
2
0 0 10 10
2 2 6 6
출력 :
64
36
## template
n = int(input())
input_list = [list(map(int, input().split(" "))) for _ in range(n)]
arr = [[0] * (101) for _ in range(101)]
for i in range(n):
start_x = input_list[i][0]
start_y = input_list[i][1]
width = input_list[i][2] #가로
height = input_list[i][3] # 세로
for j in range(start_x, start_x+width):
for k in range(start_y, start_y+height):
arr[j][k] = i+1
for i in range(n):
cnt = 0
for j in range(101):
for k in range(101):
if arr[j][k] == i+1:
cnt+=1
else:
continue
print(cnt)
#cnt_list.append(cnt)
* Solution
1) 비교할 색종이 갯수만큼 순서대로 색종이를 숫자로 채우기 ex) 1번째 색종이 1로 채우고, 2번째 2로..
2) 마지막으로 배열을 완전 탐색하면서 숫자들의 갯수(각 색종이들의 넓이가 된다)를 카운트 한다.
728x90
반응형
'Algorithm > Algorithm 풀이' 카테고리의 다른 글
[Algorithm 풀이] 재귀 함수 : 순열구하기 (1) | 2022.10.04 |
---|---|
[Algorithm 풀이] 완전탐색: 행렬 뒤집기 (2) | 2022.09.24 |
[프로그래머스] 문자열 압축 (0) | 2022.04.29 |
[SWEA] 1215. 회문1 (0) | 2021.08.21 |
[SWEA] 1213. String (0) | 2021.08.21 |
Comments