문제요약
나의 코드 및 설명
- k : 단위 면적당 자라는 참외의 개수
- height : 입력값으로 주어진 세로 길이를 저장할 리스트 초기화
- width : 입력값으로 주어진 가로 길이를 저장할 리스트 초기화
- total : 입력값으로 주어진 세로, 가로 길이를 저장할 리스트 초기화 ( 작은 상자 값을 계산하기 위해 필요하다. )
- direction : 방향 ( 동 : 1, 서 : 2, 남 : 3, 북 : 4 )
- 큰 직사각형에서 작은 직사각형을 뺀 후 참외의 개수를 곱하면 답이 나온다.
- small_width, small_height :
가장 긴 세로의 인덱스 + 3 = 작은 직사각형의 가로 / 가장 긴 가로의 인덱스 + 3 = 작은 직사각형의 세로
k = int(input())
height = []
width = []
total = []
for _ in range(6):
direction, meter = map(int, input().split())
if direction == 3 or direction == 4:
height.append(meter)
total.append(meter)
else:
width.append(meter)
total.append(meter)
big_box = max(height) * max(width)
small_width = total[(total.index(max(height)) + 3) % 6]
small_height = total[(total.index(max(width)) + 3) % 6]
print(k * (big_box - (small_height * small_width)))
피드백
풀이 방향만 찾으면 굉장히 쉬워지는 문제.. 이걸 못찾아서 몇번이나 헤맸다.
이런 문제가 출제될 경우 반드시 규칙을 찾을 수 있도록 숙달이 필요하다.
'Baekjoon > IM Level' 카테고리의 다른 글
[백준] 2810 컵홀더 (브론즈1) (0) | 2023.02.24 |
---|---|
[백준] 2563 색종이 (실버5) (0) | 2023.02.23 |
[백준] 2527 직사각형 (실버1) (0) | 2023.02.23 |
[백준] 25501 재귀의 귀재 (브론즈2) (0) | 2023.02.21 |
[백준] 11047 동전 0 (실버4) (0) | 2023.02.21 |