본문 바로가기

Programming456

[C/C++] 백준 #2290 LCD Test(구현) #2290 LCD Test는 단순하게 구현만 하면 되는 문제로, 특별한 알고리즘이 필요치 않습니다. 테이블을 만들어서 하면 좋을 듯 합니다. 문제의 링크입니다. https://www.acmicpc.net/problem/2290 2290번: LCD Test 첫째 줄에 두 개의 정수 s와 n이 들어온다. (1 ≤ s ≤ 10, 0 ≤ n ≤ 9,999,999,999)이다. n은 LCD 모니터에 나타내야 할 수 이며, s는 크기이다. www.acmicpc.net 사실 이 문제는 LCD라고 되어 있지만, 7 segment LED라는 소자를 이용한 글쓰기와 같습니다. s 값에 따라 두께를 조절해야 하는 것이 좀 까다롭습니다. 제가 작성한 소스는 다음과 같습니다. //--------------------------.. 2023. 4. 20.
[C/C++] 백준 #2268 수들의 합 7(세그먼트 트리) 백준에 유달리 세그먼트 트리를 이용한 문제가 많습니다. 한동안 난이도는 플래티넘 등급이었는데, 이제는 골드 등급으로 설정되어 있습니다. 그만큼 보편화된 알고리즘이라고 생각하시면 될 듯 합니다. 문제의 링크입니다. https://www.acmicpc.net/problem/2268 2268번: 수들의 합 7 첫째 줄에는 N(1 ≤ N ≤ 1,000,000), M(1 ≤ M ≤ 1,000,000)이 주어진다. M은 수행한 명령의 개수이며 다음 M개의 줄에는 수행한 순서대로 함수의 목록이 주어진다. 첫 번째 숫자는 어느 함수를 사용했는 www.acmicpc.net 세그먼트 트리는 쿼리가 2종류(읽기 쿼리, 쓰기 쿼리) 이상이 존재하며, 쿼리의 수가 많을 때 사용합니다. 읽기 쿼리와 쓰기 쿼리는 서로 반대되는 개.. 2023. 4. 19.
[C/C++] 백준 #2261 가장 가까운 두 점(분할 정복) #2261 문제는 분할 정복의 대표격인, 병합정렬, 퀵정렬, 히스토그램과 함께 자주 나옵니다. 문제의 링크입니다. https://www.acmicpc.net/problem/2261 2261번: 가장 가까운 두 점 첫째 줄에 자연수 n(2 ≤ n ≤ 100,000)이 주어진다. 다음 n개의 줄에는 차례로 각 점의 x, y좌표가 주어진다. 각각의 좌표는 절댓값이 10,000을 넘지 않는 정수이다. 여러 점이 같은 좌표를 가질 수도 www.acmicpc.net 분할 정복과 관련한 게시글은 다음과 같습니다. https://sdev.tistory.com/904 [C/C++] 백준 #1780 종이의 개수(분할정복) 이번 문제는 무조건 분할을 한 후에, 그 결과를 토대로 결정을 하게 하는 문제입니다. 결국 분할 정복.. 2023. 4. 19.
[C/C++] 백준 #2252 줄 세우기(위상 정렬) #2252 문제는 위상 정렬을 이용해서 풀 수 있는 문제입니다. 문제의 링크입니다. https://www.acmicpc.net/problem/2252 2252번: 줄 세우기 첫째 줄에 N(1 ≤ N ≤ 32,000), M(1 ≤ M ≤ 100,000)이 주어진다. M은 키를 비교한 회수이다. 다음 M개의 줄에는 키를 비교한 두 학생의 번호 A, B가 주어진다. 이는 학생 A가 학생 B의 앞에 서야 한다는 의 www.acmicpc.net 위상 정렬은 작업의 선후관계 등에서 많이 사용됩니다. 소프트웨어 공학에서는 작업의 전체 시간을 결정하는 요소로도 많이 사용됩니다. 대부분의 경우 작업의 종류가 많지 않기 때문에 손쉽게 수작업으로도 표시할 수 있습니다. 위상 정렬과 관련된 문제들이 많이 있었으니, 참조하시길.. 2023. 4. 19.
[C/C++] 백준 #2251 물통(너비 우선 탐색) #2251 문제는 고전적인 너비 우선 탐색인데, 노드의 개수가 정확하게 얼마인지 모르는 문제입니다. 하지만 상한은 정해져있습니다. 문제의 링크입니다. https://www.acmicpc.net/problem/2251 2251번: 물통 각각 부피가 A, B, C(1≤A, B, C≤200) 리터인 세 개의 물통이 있다. 처음에는 앞의 두 물통은 비어 있고, 세 번째 물통은 가득(C 리터) 차 있다. 이제 어떤 물통에 들어있는 물을 다른 물통으로 쏟아 부 www.acmicpc.net 이것은 옛날에 퀴즈에 자주 나오는 문제입니다. 3개의 물통을 가지고 정해진 물의 양을 만드는 방법으로 퀴즈를 풀었습니다. 그러한 것을 프로그램으로 푸는 방법입니다. 그림과 같이 용량이 정해져있는 3개의 물통이 있습니다. C에는 물.. 2023. 4. 19.
[C/C++] 백준 #2250 트리의 높이와 너비(이진 탐색 트리) #2250 문제는 이진 탐색 트리를 잘 이해하는 가에 대한 문제입니다. 문제의 링크입니다. https://www.acmicpc.net/problem/2250 2250번: 트리의 높이와 너비 첫째 줄에 노드의 개수를 나타내는 정수 N(1 ≤ N ≤ 10,000)이 주어진다. 다음 N개의 줄에는 각 줄마다 노드 번호와 해당 노드의 왼쪽 자식 노드와 오른쪽 자식 노드의 번호가 순서대로 주어진다. www.acmicpc.net 이진 탐색 트리(BST; Binary Search Tree)는 노드들을 탐색하는 방법으로 3가지 방법을 사용합니다. 전위(pre-order), 중위(in-order), 후위(post-order) 탐색법입니다. 우리는 이 중에 중위 탐색법을 사용합니다. 위와 같은 이진 탐색 트리가 있다면, .. 2023. 4. 19.