python

[baekjoon] 2563번 색쒅이 Python

Chan Lee 2023. 10. 14. 11:24

https://www.acmicpc.net/problem/2563

 

2563번: 색쒅이

κ°€λ‘œ, μ„Έλ‘œμ˜ 크기가 각각 100인 μ •μ‚¬κ°ν˜• λͺ¨μ–‘μ˜ 흰색 도화지가 μžˆλ‹€. 이 도화지 μœ„μ— κ°€λ‘œ, μ„Έλ‘œμ˜ 크기가 각각 10인 μ •μ‚¬κ°ν˜• λͺ¨μ–‘μ˜ 검은색 색쒅이λ₯Ό μƒ‰μ’…μ΄μ˜ λ³€κ³Ό λ„ν™”μ§€μ˜ 변이 ν‰ν–‰ν•˜λ„λ‘

www.acmicpc.net

 

 

μ½”λ“œ

paper_list = [[0 for i in range(100)] for j in range(100)]

times = int(input())

for _ in range(times):
    x, y = map(int, input().split())
    
    for row in range(x, x+10):
        for col in range(y, y+10):
            paper_list[row][col] = 1

result = 0
for num in paper_list:
    result += num.count(1)
print(result)

 


μ½”λ“œ μ„€λͺ…

1. paper_listλ₯Ό λͺ¨λ‘ 0의 값을 가진 100 * 100의 2차원 λ°°μ—΄λ‘œ μ΄ˆκΈ°ν™”

2. μž…λ ₯ 받은 쒅이 갯수(times)만큼 반볡문 μ‹€ν–‰

3. μž…λ ₯받은 각 μƒ‰μ’…μ΄μ˜ 쒌츑 ν•˜λ‹¨ x, y μ’Œν‘œλ₯Ό x, y에 μ €μž₯

4. paper_list[x][y] 값을 x ~ x+10, y ~ y+10λ²”μœ„μ—μ„œ paper_list의 0 값을 1둜 λ³€κ²½

즉, μƒ‰μ’…μ΄μ˜ 쒌츑 ν•˜λ‹¨μ’Œν‘œμ—μ„œ μ‹œμž‘ν•˜μ—¬ 우츑 μƒλ‹¨κΉŒμ§€ 1둜 λ³€κ²½

5. resultκ°’ 0으둜 μ΄ˆκΈ°ν™” ν›„, paper_list 2차원 λ°°μ—΄ λ‚΄μ˜ 각 리슀트λ₯Ό λŒ€μƒμœΌλ‘œ 1의 개수 result에 μΆ”κ°€

6. print(result)