본문 바로가기

전체보기141

[8] [Class 5] - 백준 1806 부분합 www.acmicpc.net/problem/1806 1806번: 부분합 첫째 줄에 N (10 ≤ N < 100,000)과 S (0 < S ≤ 100,000,000)가 주어진다. 둘째 줄에는 수열이 주어진다. 수열의 각 원소는 공백으로 구분되어져 있으며, 10,000이하의 자연수이다. www.acmicpc.net 팀원 친구들이 레벨 6 풀고 있을때 나는 레벨 5에서 맞왜틀하고있어서 맘이 안좋았다 그치만 역시 꾸준한 노력이 답이기에.. 오늘도 존버.. 연속된 수의 부분합 중에 S 이상이 되는 것 중, 가장 짧은 것의 길이를 구하는 문제 N이 10만이여서 복잡도가 O(NlogN) 이하로 나와야 된다고 생각했고 우선 구간 합을 다 구해놓고, 구간합은 크기에 대해 정렬된 상태이기 때문에 이분 탐색을 이용해서 적절.. 2021. 1. 26.
[7] [Class 3] - 백준 11727 2xn 타일링 2 www.acmicpc.net/problem/11727 11727번: 2×n 타일링 2 2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×17 직사각형을 채운 한가지 예이다. www.acmicpc.net 딱 보면 알지만 단순한 동적 프로그래밍 문제입니다. 점화식을 세워서 문제를 해결해야하는데, 점화식 세우는게 어찌 이리 어려운지.. 따로 문제들 풀면서 연습을 해봐야할 것 같습니다. #include using namespace std; long long dp[1001]; int main(){ ios_base :: sync_with_stdio(false); cin.tie(NULL); int N; cin >> N; dp[1] = 1; dp[2] .. 2021. 1. 23.
[6] [Class 3] - 백준 11724 연결 요소의 개수 www.acmicpc.net/problem/11724 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주 www.acmicpc.net 아까 다른 문제를 DFS로 풀어서 이건 그냥 Union find 로 풀어보았다. // https://www.acmicpc.net/problem/11724 // Connected Component // Union find 으로 해도 되고, dfs로 해도 되고.. #include using namespace std; int parent[1001]; in.. 2021. 1. 23.
[5] [Class 3] - 백준 10026 적록색약 www.acmicpc.net/problem/10026 10026번: 적록색약 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록) www.acmicpc.net 정말 간단하게 dfs로 풀었다. 맞왜틀 한걸 봤더니 인덱스 범위 비교할때 N을 안쓰고 100을.. // 10026 https://www.acmicpc.net/problem/10026 // dfs #include using namespace std; char map_[100][100]; bool jrsy[100][100]; bool notjrsy[100][100]; int N; int dx[4] = {0,.. 2021. 1. 22.