■ 2563번 색종이 문제
■ 코드 풀이
처음에는 면적을 어떻게 구해야 하나 고민을 정말 많이 했습니다. 알고 보니 정말 간단하게 풀 수 있더군요. 아이디어는 심플합니다. 하얀 색종이를 가로 1, 세로 1인 작은 정사각형이 100개가 이루어졌다고 가정합시다. 마치 사진을 구성하는 픽셀(Pixel)처럼요. 이를 white_paper라는 2차원 배열로 구현하고 값을 0으로 초기화합니다. 이후 입력받은 x, y를 기준으로 가로로 10칸, 세로로 10칸을 1로 채워줍니다. 이후에 값이 1인 칸의 개수만 count 하면 면적이 나옵니다.
정말 멋진 아이디어 아닌가요? 저는 이 풀이법을 보면서 역시 훌륭한 솔루션은 단순한 아이디어에서 출발한다는 것을 또 한 번 느꼈습니다.
white_paper = [[0 for j in range(100)] for i in range(100)]
counts = 0
N = int(input())
for i in range(N):
x, y = list(map(int, input().split()))
for x_idx in range(x,x+10):
for y_idx in range(y,y+10):
white_paper[x_idx][y_idx] = 1
for array_row in white_paper:
counts += array_row.count(1)
print(counts)
'코딩 테스트 > Python_백준' 카테고리의 다른 글
[백준/Python] 11005번 진법 변환2 문제 (0) | 2023.04.06 |
---|---|
[백준/Python] 2745번 진법 변환 문제 (0) | 2023.04.05 |
[백준/Python] 10798번 세로읽기 (0) | 2023.04.03 |
[백준/Python] 2566번 최댓값 문제 (0) | 2023.04.02 |
[백준/Python] 2738번 행렬 덧셈 문제 (0) | 2023.04.01 |
댓글