본문 바로가기

알고리즘

(117)
[Python] 백준 파이썬 2869 달팽이는 올라가고 싶다 https://www.acmicpc.net/problem/2869 2869번: 달팽이는 올라가고 싶다 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) www.acmicpc.net # 2869번 달팽이는 올라가고 싶다 a, b, v = map(int, input().split()) if a==b and b==v: print(1) else: h_per_day = a - b d_1_h = v - a if d_1_h
[Python] 백준 파이썬 10870 피보나치 수 5 https://www.acmicpc.net/problem/10870 10870번: 피보나치 수 5 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net for문을 이용해도 되지만 재귀함수를 이용해서 표현하기 # 백준 10870 피보나치 수 5 # 피보나치 재귀함수 정의 def fibo(x): if x == 0: return 0 elif x == 1: return 1 else: x = fibo(x-1) + fibo(x-2) return x n = int(input()) print(fibo(n))
[Python] 백준 파이썬 9020 골드바흐의 추측 https://www.acmicpc.net/problem/9020 9020번: 골드바흐의 추측 1보다 큰 자연수 중에서 1과 자기 자신을 제외한 약수가 없는 자연수를 소수라고 한다. 예를 들어, 5는 1과 5를 제외한 약수가 없기 때문에 소수이다. 하지만, 6은 6 = 2 × 3 이기 때문에 소수가 아 www.acmicpc.net 먼저 소수 판별하는 함수 정의해줌 def sosu(x): if x==1: return False for i in range(2, int(x**0.5) + 1): if x % i == 0: return False return True 이 다음은 어떻게 진행할까 하다가 처음에는 4
[Python] 백준 파이썬 4948 베르트랑 공준 https://www.acmicpc.net/problem/4948 4948번: 베르트랑 공준 베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다. 이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 체비쇼 www.acmicpc.net 바로 전에 푼 소수 구하기 문제랑 비슷하게 생각해서 첫 시도를 해봤습니다. # 백준 4948 베르트랑 공준 # 소수 찾는 함수 정의 def prime(x): if x == 1: return False for i in range(2, int(x**0.5)+1): if x % i == 0: return False return True while True: n = int(input()) coun..
[Python] 백준 파이썬 1929 소수 구하기 https://www.acmicpc.net/problem/1929 1929번: 소수 구하기 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. www.acmicpc.net 두 자연수 사이의 소수를 구해서 각각 출력하는 문제입니다. 문제 자체는 간단했습니다. m, n = map(int, input().split()) # m부터 n까지 정수들의 리스트를 만들어줌 num = list(range(m, n+1)) if 1 in num: num.remove(1) # 1은 소수가 아니니까 삭제 prime=[] # 소수들을 담을 리스트 하나 생성 for i in num: error = 0 for j in ran..