알고리즘 문제/백준
[백준] 2406, 2501, 3460, 10818, 10870 파이썬 풀이
디제이망고
2021. 9. 12. 16:15
다음을 보고 여섯 문제 풀었다.
준비운동 PART1. 튼튼한 기본기
https://covenant.tistory.com/224
코딩테스트 대비를 위한 백준 문제 추천
코딩테스트 대비를 위한 백준 문제 추천 끝 없는 훈련만이 실전에서 흐트럼없이 정답을 향해서 움직일 수 있습니다. (Photo by Specna Arms on Unsplash) 작년 한 해 수많은 코딩테스트를 직접 경험하고
covenant.tistory.com
- 약수 구하기 (🥉 브론즈 3티어)
- 이진수 (🥉 브론즈 3티어)
- 최소, 최대 (🥉 브론즈 3티어)
- 지능형 기차 2 (🥉 브론즈 3티어)
- 피보나치 수 5 (🥉 브론즈 2티어)
- 일곱 난쟁이 (🥉 브론즈 2티어)
약수 구하기
def solution(n, k):
cnt = 0;
for i in range(1, n+1):
if (n % i == 0):
cnt = cnt+1;
if (cnt == k):
return i;
return 0;
n, k = map(int, input().split())
print(solution(n, k));
이진수
def solution(n):
i = 0;
while (n > 0):
if (n%2 == 1):
print(i,end=' ');
n = n//2;
i += 1;
for _ in range(int(input())):
n = int(input());
solution(n);
최소, 최대
input();
numbers = list(map(int, input().split()));
numbers.sort();
print(numbers[0], numbers[-1]);
지능형 기차
p_nums = [0]
for _ in range(10):
a, b = map(int, input().split())
p_nums.append(p_nums[-1] + b - a)
print(max(p_nums))
피보나치 수
def solution(n):
if n < 2:
return n
return solution(n-2)+solution(n-1)
print(solution(int(input())))
일곱 난쟁이
nans = []
for _ in range(9):
nans.append(int(input()))
target = sum(nans) - 100
for i in range(9):
for j in range(i+1,9):
if nans[i]+nans[j] == target:
for k in range(9):
if k == i | k == j:
continue
print(nans[k])
break