Home
Justnote
Cancel

[Python] 백준 9095번 : 1, 2, 3 더하기

Problem https://www.acmicpc.net/problem/9095 Solution 문제를 풀기에 앞서 각 값들의 규칙성을 파악해보면 하나의 값은 이전 3개의 값과 같다는 것을 알 수 있다. 이를 통해 점화식을 작성해보면 f(n) = f(n-1) + f(n-2) + f(n-3)과 같이 나타낼 수 있다. code1 (bottom-up) d...

Dynamic Programming(동적계획법)

종류 Bottom-Up 방식 반복문 이용 제일 작은 값부터 구해나감 Top-Down 방식 재귀함수 이용 하나의 문제를 여러 하위 문제로 쪼갬 하위 문제의 결과를 저장하여 상위문제에서 사용 Ref. https://www.log2base2.com/algorithms/dynamic-programming/dynamic-programming.html

[Python] 백준 10250번 : ACM 호텔

Problem https://www.acmicpc.net/problem/10250 Solution code1 t = int(input()) for i in range(t): h,w,n = map(int, input().split()) count = 0 for i in range(1,w+1): for j in r...

[Python] 백준 1463번 : 1로 만들기

Problem https://www.acmicpc.net/problem/1463 Solution 오답 코드 x = int(input()) n = 0 while True: if x == 1 : break elif x % 3 == 0 : x = x/3 n = n+1 if x == 1 : bre...

[Python] 백준 1193번 : 분수찾기

Problem https://www.acmicpc.net/problem/1193 Solution 오답코드 import sys x = int(sys.stdin.readline()) k, v, count = 1, 1, 1 while count < x: if k == 1: # 제일 윗 행일 때 if v % 2 == 1: # ...

[Python] 백준 11653번 : 소인수분해

Problem https://www.acmicpc.net/problem/11653 Solution code1 import sys n = int(sys.stdin.readline()) last_insu = 2 while n>1: for i in range(last_insu,n+1): if n % i == 0: ...

[Python][C언어] 백준 9498번 : 시험 성적

Problem https://www.acmicpc.net/problem/9498 Solution code(python) x = int(input()) if 90<=x<=100: print("A") elif 80<=x<=89: print("B") elif 70<=x<=79: print("C")...

유클리드 호제법(Euclidean algorithm)

요약 2개의 자연수 또는 다항식의 최대공약수를 구하는 알고리즘 개념 2개의 자연수(또는 정식) a, b에 대해서 a를 b로 나눈 나머지를 r이라 하면(단, a>b), a와 b의 최대공약수는 b와 r의 최대공약수와 같다. 이 성질에 따라, b를 r로 나눈 나머지 r’를 구하고, 다시 r을 r’로 나눈 나머지를 구하는 과정을 반복하여 나머지가 0이...

[Python] 백준 2751번 : 수 정렬하기 2

Problem https://www.acmicpc.net/problem/2751 Solution 오답 코드1 N = int(input()) numbers = [] for i in range(N) : numbers.append(int(input())) for i in range(1, len(numbers)) : while (i&gt...

[Python] 백준 2609번 : 최대공약수와 최소공배수

Problem https://www.acmicpc.net/problem/2609 Solution code1 # 최대공약수 def gcd(a,b): for i in range(min(a,b), 0, -1): if a % i == 0 and b % i == 0: return i # 최소공배수 def lcm(a...