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

+ Recent posts