CodingTest/Baekjoon
[baekjoon] 백준 1531번(파이썬): 투명
JunJangE
2022. 3. 15. 01:10
문제
1531번: 투명
첫째 줄에 N과 M이 주어진다. N은 0보다 크거나 같고, 50보다 작거나 같다. M은 0보다 크거나 같고, 50보다 작거나 같다. 둘째 줄부터 N개의 줄에 종이의 좌표가 주어진다. 왼쪽 아래 모서리의 x, y좌
www.acmicpc.net
알고리즘
- 일반 구현 문제로 문제를 이해하면 쉽게 풀 수 있다.
- 반복문을 통해 불투명한 종이를 확인하여 불투명한 종이로 가려지는 그림에 카운트한다.
- 반복문을 통해 모든 그림을 확인하여 m개 이상 불투명한 종이가 올라가 있는 그림을 카운트한다.
- 카운트된 그림의 개수를 출력한다.
코드
import sys
n, m = map(int, sys.stdin.readline().split())
drawing = [[0 for _ in range(100)] for _ in range(100)] # 그림
cnt = 0 # 모자이크 중에 보이지 않는 그림의 개수
# 반복문을 통해 불투명한 종이를 확인
for _ in range(n):
x1, y1, x2, y2 = map(int, sys.stdin.readline().split())
# 반복문을 통해 불투명한 종이의
# 왼쪽 아래 모서리 좌표와 오른쪽 위 모서리 좌표에
# 포함되는 그림을 카운트
for i in range(x1, x2 + 1):
for j in range(y1, y2 + 1):
drawing[i - 1][j - 1] += 1
# 반복문을 통해 m개 이상 불투명한 종이가 올라가 있는 그림을 카운트
for i in range(100):
for j in range(100):
if drawing[i][j] > m:
cnt += 1
print(cnt)
github
GitHub - junjange/CodingTest: 내가 푼 코딩 테스트 문제와 해결법
내가 푼 코딩 테스트 문제와 해결법. Contribute to junjange/CodingTest development by creating an account on GitHub.
github.com