-
[Python][백준] 1002번 문제 풀이 | 2년 만에 푼 문제Algorithm/백준 2022. 2. 28. 10:00728x90
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'Algorithm > 백준' 카테고리의 다른 글
[Python][백준] 1260번 DFS와 BFS | 런타임 에러 (KeyError) 해결 (0) 2022.03.10 백준 문제를 4년 만에 해결한 사람이 있다? (0) 2022.03.03 [Python][백준] 백준 1463번 1로 만들기 풀이 | DP와 Divide and conquer (0) 2022.02.25 [자료구조][백준] 스택의 활용 | 백준 9012번 풀이 (0) 2022.02.12 [Python][백준] 2292번 문제 벌집 풀이 (0) 2022.02.11