[파이썬] 백준 알고리즘 온라인 저지 10872번 : 팩토리얼 Python3 코드 1) 재귀 함수 코드 def factorial(n): result = 1 if n > 0 : result = n * factorial(n-1) return result n = int(input()) print(factorial(n)) 2) for문 코드 n = int(input()) result = 1 if n > 0: for i in range(1, n+1): result *= i print(result) Python3 코드 풀이 1. 작성한 코드에 대한 전체적인 풀이 내용 팩토리얼 (=계승) : 1부터 n까지 양의 정수를 모두 곱한 수이다. 0!=1로 약속하고 n!=n*(n-1)! 의 성질을 가진다. 이와 같은 팩토리얼..
[Python] 백준 알고리즘 온라인 저지 1002번 : 터렛 Python3 코드 import math n = int(input()) for _ in range(n): x1, y1, r1, x2, y2, r2 = map(int, input().split()) distance = math.sqrt((x1-x2)**2 + (y1-y2)**2) # 두 원의 거리 (원의방정식활용) if distance == 0 and r1 == r2 : # 두 원이 동심원이고 반지름이 같을 때 print(-1) elif abs(r1-r2) == distance or r1 + r2 == distance: # 내접, 외접일 때 print(1) elif abs(r1-r2) < distance < (r1+r2) : # 두 원이 서로다..
[Python] 백준 알고리즘 온라인 저지 3053번 : 택시 기하학 Python3 코드 1) 소수점 자릿수를 지정하지 않은 코드 import math r = int(input()) print(r*r*math.pi) # 원의 넓이 print(2*r*r) # 택시기하학 원의 넓이 - 소수점을 지정하지 않아도 문제에 맞는다. 2) 소수점 6자리를 지정한 코드 import math r = int(input()) print(f'{r*r*math.pi:.6f}') print(f'{2*r*r:.6f}') Python3 코드 풀이 1. 작성한 코드에 대한 전체적인 풀이 내용 이번 문제는 원의 넓이를 구하는 공식을 코드로 작성하면 되는 문제이다. 원의 넓이는 유클리드 기하학의 공식과 택시 기하학의 공식을 이용한 값을 ..
[Python] 백준 알고리즘 온라인 저지 4153번 : 직각삼각형 Python3 코드 while True : nums = list(map(int, input().split())) if sum(nums) == 0: break # 세 수가 0이면 break max_num = max(nums) nums.remove(max_num) # 빗변의 길이는 직각삼각형 세변의 길이중 가장 길다. if nums[0]**2 + nums[1]**2 == max_num**2: print('right') else: print('wrong') Python3 코드 풀이 1. 코드 풀이에 대한 전체적인 내용 정리 이번 문제는 피타고라스의 정리를 이용하여 문제를 풀었다. 주어진 세 수가 피타고라스의 정리에 부합하면 right, 아니라..
집합 자료형 Set 연산 set은 수학에서의 집합과 같다. 집합의 특성과 같이 순서가 없고 중복적인 요소를 허용하지 않는다. set type의 합집합, 교집합, 차집합과 같은 수학 연산을 사용하는 것에 주로 이용되고 이외에도 요소의 중복을 허용하지 않는 성질을 이용하여 unique 한 값만 남기는 기능으로도 많이 활용된다. 이번 포스팅은 합집합, 교집합, 차집합 연산 기능에 대해 다룬다. 중복 제거와 관련해서는 필요하실 분을 위해 이전 포스팅 링크를 걸어둔다. ▶ set함수를 이용한 집합 자료형 생성, 변환 및 중복요소 제거 - 순서 - 1. 합집합 2. 교집합 3. 차집합 1. set 합집합 set의 합집합은 | 연산자와 union함수를 이용할 수 있다. 파이썬의 합집합도 수학의 합집합 연산과 동일한 ..