Algorithm/1일 1코테
-
[💕 백준] 2193번. 이친수Algorithm/1일 1코테 2020. 11. 13. 20:18
✨ 문제 www.acmicpc.net/problem/2193 2193번: 이친수 0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않 www.acmicpc.net 0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않는다. 이친수에서는 1이 두 번 연속으로 나타나지 않는다. 즉, 11을 부분 문자열로 갖지 않는다. 예를 들면 1, 10, 100, 101, 1000, 1001 등이 이친수가 된다. 하지..
-
-
-
[🤷♀️ 백준] 9095번. 123 더하기Algorithm/1일 1코테 2020. 11. 13. 17:15
⛄ 문제 www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net ⛄ 답 def sum(n): l = [0,1,2,4] # 1,2,3 갑을 넣어줌 for i in range(4, 12): l.append(l[i-1]+l[i-2]+l[i-3]) return l[n] t = int(input()) # 테스트케이스 for _ in range(t): # 테스트케이스 수 대로 input 받기 print(sum(int(input()))) 계산할 수 있는 숫자는 1,2,3으로 구성된다고 했다. n=1 일 때 > 1 n=2 일 때 1+1, 2 > 2 n=3 일 때 1+1+1, 2..
-
[🤷♀️ 백준] 11727번. 2xN 타일링 2Algorithm/1일 1코테 2020. 11. 13. 14:26
⛄ 문제 www.acmicpc.net/problem/11727 11727번: 2×n 타일링 2 2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×17 직사각형을 채운 한가지 예이다. www.acmicpc.net ⛄ 답 N = int(input()) a= [0, 1, 3] for i in range(3, 1002): a.append(a[i-1] + a[i-2]*2) print(a[N]%10007) 다이나믹 프로그래밍으로 푸는 문제 점화식 세울 때 [마지막으로 들어가는 도형] 기준으로 잡기! 1. 가로가 n-1 남았을 때 들어갈 수 있는 도형은 1x2 밖에 없다. 2. 가로가 n-2 만큼 남았을 때 들어갈 수 있는 도형은 두 가지가 있다. 2..
-
[🤷♀️ 백준] 11726번. 2xn 타일링 (PYTHON)Algorithm/1일 1코테 2020. 11. 13. 13:10
📌 문제 www.acmicpc.net/problem/11726 11726번: 2×n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다. www.acmicpc.net 📌 답 # 런타임 에러 N = int(input()) a = [0 for _ in range(N+1)] a[0] = 0 a[1] = 1 a[2] = 2 for i in range(3, len(a)): a[i] = a[i-1] + a[i-2] print(a[N]%10007) # 수정 N = int(input()) a = [0,1,2] for i in range(3, 1001): a.append(a[i-1] + a[i-2]) ..
-
[🤷♀️ 백준] 1463번. 1로 만들기 (PYTHON)Algorithm/1일 1코테 2020. 11. 13. 12:24
📌 문제 및 문제설명 www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 📌 답 n = int(input()) #1 a = [0 for _ in range(n+1)] #2 for i in range(2, len(a)): #3 a[i] = a[i-1] + 1 if i%3 == 0: a[i] = min(a[i], a[i//3]+1) if i%2 == 0: a[i] = min(a[i], a[i//2]+1) print(a[n]) 다이나믹 프로그래밍으로 푸는 문제! 1. input을 통해 입력값을 받는다. 2. n+1만큼 크기의 리스트를 만들어준다! 이 리스트엔 인덱스 숫자가 1이 되..
-
[🤷♀️ Leetcode] 509. Fibonascci NumberAlgorithm/1일 1코테 2020. 11. 9. 14:39
문제설명 피보나치 수를 구하라 leetcode.com/problems/fibonacci-number/submissions/ Fibonacci Number - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 풀이 class Solution: dp = collections.defaultdict(int) def fib(self, N: int) -> int: if N