백준 1004번 - 어린 왕자
백준 1004번 바로가기 나의 풀이 # 입력 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)라니 왠지 멋진걸?!