
https://www.acmicpc.net/problem/1193 1193번: 분수찾기 첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다. www.acmicpc.net 👩💻문제 이해 그림처럼 지그재그 형태로 진행된다. 전체적인 패턴에서 규칙을 찾으려니 시간이 많이 걸렸다. 하지만 라인을 나눠서 생각해볼때 1라인 : 1/1(1개) 2라인 : 1/2 -> 2/1 (2개, 분자 +1, 분모 -1) 3라인 : 3/1 -> 2/2 -> 1/3 (3개, 분자 -1, 분모 +1) 4라인 : 1/4 -> 2/3 -> 3/2 -> 4/1 (4개 , 분자 +1, 분모 -1) 5라인 : 5/1 -> 4/2 -> 3/3 -> 2/4 -> 1/5 (5개, 분자 -1, 분모 +1) ... 다음과 같은 규칙을 가지고 ..

https://www.acmicpc.net/problem/1010 1010번: 다리 놓기 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽에 있는 사이트의 개수 정수 N, M (0 중복불가! M(동쪽 사이트)개의 다리 중 N(서쪽 사이트)개의 다리를 선택하는 경우의 수를 구하면 된다. 2. 서로 다른 다리들은 서로 겹쳐질 수 없다! -> ex) (1,2,3,4,5) 5개의 다리들 중 (1,2,4)번 3개의 다리들만 연결 되는 경우를 생각해보면 (1,2,4)의 순서로 연결되던 (1,4,2) 또는 ..

https://www.acmicpc.net/problem/9020 9020번: 골드바흐의 추측 1보다 큰 자연수 중에서 1과 자기 자신을 제외한 약수가 없는 자연수를 소수라고 한다. 예를 들어, 5는 1과 5를 제외한 약수가 없기 때문에 소수이다. 하지만, 6은 6 = 2 × 3 이기 때문에 소수가 아 www.acmicpc.net 👩💻입력한 숫자까지의 소수 list 만들기 -> 골드바흐 파티션만 추출 -> 차이가 가장 작은 조합 출력 : 시간초과☠️ def isPrime(num): if num == 1: return False else: for i in range(2, int(num**0.5) +1): if num % i ==0: return False return True n = int(input()..

https://www.acmicpc.net/problem/2775 2775번: 부녀회장이 될테야 첫 번째 줄에 Test case의 수 T가 주어진다. 그리고 각각의 케이스마다 입력으로 첫 번째 줄에 정수 k, 두 번째 줄에 정수 n이 주어진다 www.acmicpc.net 어떤 알고리즘을 짜야할지 고민하다 제한사항을 보고 2차원 배열을 먼저 만들어놓고 해당 층과 호수를 입력했을 때 해당 값을 출력하도록 했다. 👩💻2차원배열 사용 코드 : 성공🌈 array = [[0 for col in range(14)] for row in range(15)] for i in range(15): for j in range(14): array[0][j] = j+1 array[i][0] = 1 if i > 0 and j > ..

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문 사용한 코드 : 성공🌈 f0 = 0 f1 = 1 n = int(input()) if n == 0: print(f0) elif n == 1: print(f1) else: for i in range(n-1): f2 = f0 + f1 f0 = f1 f1 = f2 print(f2) # 첫 번째 수(f0)과 두 번째수(f1)를 정해놓고 시작 👩💻재귀함..