728x90
< 처음 풀이 >
접근을 잘 못했다. 경우의 수를 쪼개서 모든 경우에 따른 함수를 만들었지만 틀렸습니다 가 계속 나왔다. 사실 오류는 아직도 찾지 못했고 다른 풀이를 보니 인접한 변의 길이를 이용하는 방식이 있다는 것을 알게 되었다.
< 해결 방법 >
인접한 변의 길이를 이용해서 풀었지만 런타임 에러가 나왔고 [i+1] 부분에서 리스트의 길이를 초과한 것을 알게 되었다. 나머지 연산을 통해 이를 해결했다.
import sys
from collections import Counter
a = sys.stdin.readline()
b = [ ]
one = 0
three = 0
for i in range(0,6):
b.append(list(map(int,sys.stdin.readline().rstrip().split(" "))))
for i in range(0,len(b)):
if b[i][0]==1 or b[i][0]==2:
if b[i][1]>one:
one = b[i][1]
else:
if b[i][1]>three:
three = b[i][1]
ans1 = 0
ans2 = 0
for i in range(0,len(b)):
if b[i][1]==one:
ans1 = abs(b[(i+1)%len(b)][1]-b[(i-1)%len(b)][1])
if b[i][1]==three:
ans2 = abs(b[(i+1)%len(b)][1]-b[(i-1)%len(b)][1])
print((one*three - ans1*ans2)*int(a))728x90
'🟢 알고리즘 문제 풀이 > Baekjoon' 카테고리의 다른 글
| [파이썬] 백준 1912 연속합 (0) | 2022.08.16 |
|---|---|
| [파이썬] 백준 1018 체스판 다시 칠하기 (0) | 2022.08.05 |
| [파이썬] 백준 1620 나는야 포켓몬 마스터 이다솜 (0) | 2022.08.04 |
| [파이썬] 백준 10816 숫자 카드 2 (0) | 2022.08.03 |
| [파이썬] 백준 1181 단어 정렬 (0) | 2022.08.03 |