가영이의 스토리

[백준/Python] 백준 2563번 색종이 본문

코딩연습장/백준

[백준/Python] 백준 2563번 색종이

gayomii 2023. 9. 4. 15:58

🏆백준 2563번 - 색종이

 

2563번: 색종이

가로, 세로의 크기가 각각 100인 정사각형 모양의 흰색 도화지가 있다. 이 도화지 위에 가로, 세로의 크기가 각각 10인 정사각형 모양의 검은색 색종이를 색종이의 변과 도화지의 변이 평행하도록

www.acmicpc.net


✍️문제

가로, 세로의 크기가 각각 100인 정사각형 모양의 흰색 도화지가 있다. 이 도화지 위에 가로, 세로의 크기가 각각 10인 정사각형 모양의 검은색 색종이를 색종이의 변과 도화지의 변이 평행하도록 붙인다. 이러한 방식으로 색종이를 한 장 또는 여러 장 붙인 후 색종이가 붙은 검은 영역의 넓이를 구하는 프로그램을 작성하시오.

예를 들어 흰색 도화지 위에 세 장의 검은색 색종이를 그림과 같은 모양으로 붙였다면 검은색 영역의 넓이는 260이 된다.

 


정답

matrix = [[0 for i in range(100)] for j in range(100)]
# matrix = [[0]*100 for _ in range(100)]
count = 0

a = int(input())

for i in range(a):
    x, y = map(int, input().split())
    
    for i in range(x, x+10):
        for j in range(y, y+10):
            matrix[i][j] = 1
        
for i in matrix:
    count += i.count(1)
print(count)

💫 해설 및 한줄평

먼저 2차원 배열의 matrix를 만들어준다.

만드는 방법은 2가지로 위의 방법 참고하면될듯!

 

그리고 count값을 0으로 만들어준다. (이후 count의 값을 세어 output값을 찾아 낼 예정)

그리고 몇번 반복할건지 a를 통해 받아주고 a번만큼 x와 y를 각각 입력받는다.

 

그리고 x와 y각각 for문을 통해 받아서 +10을 한 크기까지 모두 1로 채워준다.즉, matrix의 x행y열부터 x+10행 y+10열까지 1로 채운다.

 

마지막으로 1의 갯수를 세어 결과를 도출한다.

 

2차원 배열만드는방법, 배열을 1로 채워서 count하는 법 잊지말기.

 

 

 

 

 

 

 

Comments