Algorithm/Algorithm 풀이

[Algorithm 풀이] 완전탐색: ColorPaper

부지런깨꾹이 2022. 9. 24. 12:37
반응형

[완전 탐색 대표문제]

이번 문제는 색종이들의 넓이를 구하는 문제이다.  (겹치는 부분을 처리하는 것이 관건인 문제!!)

입력 : 

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
반응형