백준 - 7795번 먹을 것인가 먹힐 것인가 python 문제풀이 [Hellfer]
🔷 알고리즘 분류 - 정렬, 두 포인터, 난이도 - 실버 3 문제 심해에는 두 종류의 생명체 A와 B가 존재한다. A는 B를 먹는다. A는 자기보다 크기가 작은 먹이만 먹을 수 있다. 예를 들어, A의 크기가 {8, 1, 7, 3, 1}이고, B의 크기가 {3, 6, 1}인 경우에 A가 B를 먹을 수 있는 쌍의 개수는 7가지가 있다. 8-3, 8-6, 8-1, 7-3, 7-6, 7-1, 3-1. 두 생명체 A와 B의 크기가 주어졌을 때, A의 크기가 B보다 큰 쌍이 몇 개나 있는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스의 첫째 줄에는 A의 수 N과 B의 수 M이 주어진다. 둘째 줄에는 A의 크기가 모두 주어지며, 셋째 줄에는 B의 크기..
2024. 7. 2.
백준 - 11725번 트리의 부모 찾기 python 문제풀이 [Hellfer]
https://www.acmicpc.net/problem/11725 11725번: 트리의 부모 찾기 루트 없는 트리가 주어진다. 이때, 트리의 루트를 1이라고 정했을 때, 각 노드의 부모를 구하는 프로그램을 작성하시오. www.acmicpc.net 🔷 알고리즘 분류 - 그래프 이론, 트리, 너비 우선 탐색 난이도 - 실버 2 트리는 계층적인 구조를 가지는 비선형 자료구조로, 노드(node)와 노드를 연결하는 간선(edge)으로 구성됩니다. 트리는 루트 노드(root node), 부모 노드(parent node), 자식 노드(child node), 잎 노드(leaf node, 터미널 노드) 등으로 구성되며, 특정 노드의 하위 트리(sub-tree)를 구성하는 노드들은 해당 노드의 자손(descendant)..
2024. 2. 7.
백준 - 1359번 복권 python 문제풀이 [Hellfer]
https://www.acmicpc.net/problem/1359 1359번: 복권 첫째 줄에 세 정수 N, M, K가 주어진다. www.acmicpc.net 🔷 알고리즘 분류 - 수학, 브루트포스 알고리즘, 조합론 확률론 난이도 - 실버 4 🔶문제 풀이 - 확률론을 이용한 풀이 import math def combination(n, r): # 조합을 계산하는 함수 if n < r: # nCr에서 r이 n보다 크면 조합은 0 return 0 return math.factorial(n) / (math.factorial(r) * math.factorial(n-r)) # nCr = n! / (r!(n-r)!) n, m, k = map(int, input().split()) # n, m, k 입력 받기 x = ..
2024. 1. 29.