나의 풀이
# 입력
import sys
read = sys.stdin.readline
eq = read().strip().split('-')
ans = eq[0]
if '+' in ans:
ans = sum(map(int, ans.split('+')))
else:
ans = int(ans)
# 처리
for e in eq[1:]:
if '+' in e:
e = sum(map(int, e.split('+')))
ans -= int(e)
print(ans)
CODE REVIEW
- 한 정점과 원 사이의 거리를 활용한 기하학 문제.
- (시작점 - 원의중심 거리) = $l_{1}$ , (도착점 - 원의중심 거리) = $l_{2}$ , 반지름을 $r$ 이라 하면, ( $l_{1}$ - $r^2$ ) * ( $l_{2}$ - $r^2$ ) < 0 일 때 경계를 지나갈 수 밖에 없다.
- 이유:
중간값 정리
- ( $l_{1}$ - $r^2$ ) > 0 이면 원 외부에 속함
- ( $l_{1}$ - $r^2$ ) < 0 이면 원 내부에 속함
- 이유:
- cf) 문제 번호가
천사(1004)
라니 왠지 멋진걸?!