[백준] #2477 참외밭 python
2022. 12. 30. 21:14
https://www.acmicpc.net/problem/2477
📕 설명 📕
가장 큰 직각 사각형에서 작은 직각 사각형의 넓이를 알아내어 풀이하였다.
1. 직사각형을 나누어 두 가지로 분리하여 넓이를 구한다.
2. 큰 직사각형에서 작은 직사각형의 넓이를 빼어 넓이를 구한다.
두 가지 방법 중,
2번 방법으로 코드로 구현할 수 있을 것 같았다.
방향과 길이를 담은 list를 각각 만들고,
각 방향에 대해 방향이 1번 나오게 되면 그것은 큰 직사각형의 한 변의 길이므로 해당 사항을 catch했다.
그리고, 해당 인덱스 후 3번째가 작은 직사각형의 길이라는 것을 알아냈다. 그리하여 해당 인덱스를 tmp에 저장하고,
tmp의 값에 기준을 두고 mini box에 길이를 추가하였다.
🧑🏻💻 나의 풀이 🧑🏻💻
K = int(input())
widths = [input().split() for _ in range(6)]
direction = []
length = []
for i in widths:
direction.append(int(i[0]))
for i in widths:
length.append(int(i[1]))
max_boxes = []
min_boxes = []
for i in range(1,5):
if direction.count(i) == 1:
max_boxes.append(length[direction.index(i)])
tmp = direction.index(i) + 3
if tmp >= 6:
tmp -= 6
min_boxes.append(length[tmp])
wid = max_boxes[0] * max_boxes[1] - min_boxes[0] * min_boxes[1]
print(wid * K)
'Programming > Algorithm' 카테고리의 다른 글
[백준] #1002 터렛 python (0) | 2022.12.31 |
---|---|
[백준] #3053 택시 기하학 python (0) | 2022.12.31 |
[백준] #4153 직각삼각형 python (0) | 2022.12.30 |
[백준] #3009 네 번째 점 python (0) | 2022.12.30 |
[백준] #1085 직사각형에서 탈출 python (0) | 2022.12.30 |