본문 바로가기

백준알고리즘313

[백준] 1992번: 쿼드트리 (python) 1992번: 쿼드트리 문제 ) 흑백 영상을 압축하여 표현하는 데이터 구조로 쿼드 트리(Quad Tree)라는 방법이 있다. 흰 점을 나타내는 0과 검은 점을 나타내는 1로만 이루어진 영상(2차원 배열)에서 같은 숫자의 점들이 한 곳에 많이 몰려있으면, 쿼드 트리에서는 이를 압축하여 간단히 표현할 수 있다. 주어진 영상이 모두 0으로만 되어 있으면 압축 결과는 "0"이 되고, 모두 1로만 되어 있으면 압축 결과는 "1"이 된다. 만약 0과 1이 섞여 있으면 전체를 한 번에 나타내지를 못하고, 왼쪽 위, 오른쪽 위, 왼쪽 아래, 오른쪽 아래, 이렇게 4개의 영상으로 나누어 압축하게 되며, 이 4개의 영역을 압축한 결과를 차례대로 괄호 안에 묶어서 표현한다 위 그림에서 왼쪽의 영상은 오른쪽의 배열과 같이 숫자.. 2022. 4. 13.
[백준] 11403번: 경로찾기 (python) 11403번: 경로찾기 문제 ) 가중치 없는 방향 그래프 G가 주어졌을 때, 모든 정점 (i, j)에 대해서, i에서 j로 가는 경로가 있는지 없는지 구하는 프로그램을 작성하시오. 입력 : 첫째 줄에 정점의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄부터 N개 줄에는 그래프의 인접 행렬이 주어진다. i번째 줄의 j번째 숫자가 1인 경우에는 i에서 j로 가는 간선이 존재한다는 뜻이고, 0인 경우는 없다는 뜻이다. i번째 줄의 i번째 숫자는 항상 0이다. 출력 : 총 N개의 줄에 걸쳐서 문제의 정답을 인접행렬 형식으로 출력한다. 정점 i에서 j로 가는 경로가 있으면 i번째 줄의 j번째 숫자를 1로, 없으면 0으로 출력해야 한다. 풀이) 요즘 문제를 풀 때 가장 문제 되는게 2가지가 있다. 1. 자.. 2022. 4. 13.
[백준] 2438번: 별 찍기 - 1 (C++) 2438번: 별 찍기 - 1 문제 ) 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 입력 : 첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다. 출력 : 첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다. 풀이) cpp은 문자열의 곱셈이 되지 않는 것 같다. 그래서 2중 for문을 통해 *을 출력해주었다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 # include using namespace std; int main(){ int n; cin >> n; for (int i = 1; i 2022. 4. 12.
[백준] 11021번: A+B - 8 (C++) 2741번: N 찍기 문제 ) 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 : 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 a; cin >> b; 이렇게 두번을 적어서 보통 사용했는데, 다른분들의 풀이를 보니 cin >> a >> b; 의 표현도 가능했다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 # include using namespace std; int main(){ int n, a, b; cin >> n; for(int i = 1; i > a; cin >> b; cout 2022. 4. 12.