Algorithm/백준
[Python][백준] 1002번 문제 풀이 | 2년 만에 푼 문제
이무기뱀술
2022. 2. 28. 10:00
728x90

2019년 7월 11일 20:44:54
내가 처음 터렛 문제를 푼 시간이다.
2018년 8월 20일에 입대하여 2020년 5월 27일에 전역전 휴가를 나왔으니... 아마 사이버지식정보방에서 풀었을 것이다.
그때의 나는 군대에서 머리가 굳어, 코린이나 다름없었다. 파이썬 문법도 가물가물 했을 것이다.
그러니 이런 실버4 문제도 여러번 틀렸을 것이다!
# 2022년 코드
import sys
def P1002():
for _ in range(int(input())):
x1, y1, r1, x2, y2, r2 = map(int, input().split())
rp = r1 + r2
rm = abs(r1 - r2)
distance = ((x2 - x1) ** 2 + (y2 - y1) ** 2) ** (1 / 2)
if distance == 0 and r1 == r2: # ok
print(-1)
elif rp < distance or distance < rm:
print(0)
elif distance == rp or distance == rm: # ok
print(1)
elif rm < distance < rp: # ok
print(2)
if __name__ == '__main__':
input = sys.stdin.readline
P1002()
# 2019년 코드
import math
t = int(input())
for x in range(t):
temp=[]
for y in range(6):
temp.append(int(input())) #x1 y1 r1 x2 y2 r2
dst = math.sqrt((temp[3] - temp[0]) ** 2 + (temp[4] - temp[1]) ** 2)
temp.append(dst) # 6 == 거리
turret.append(temp)
for x in range(0, t):
if turret[x, 0] == turret[x, 3] and turret[x, 1] == turret[x, 4]:
print("-1")
elif turret[x, 2] + turret[x, 5] > turret[6]:
print("2")
elif turret[x, 2] + turret[x, 5] == turret[6]:
print("1")
else:
print("0")
print("")
코드를 비교해보니, 2022년에 쓴 코드가 훨씬 좋아보인다.
나 그동안 성장했을지도?
728x90