본문 바로가기

분류 전체보기

(248)
[C++] 백준 17404번 : RGB거리 2 (G4) #문제 www.acmicpc.net/problem/17404 17404번: RGB거리 2 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net #풀이 & 학습한 내용 supremo7.tistory.com/99에서 풀었던 RGB거리 문제의 응용문제이다. 기존문제에서 추가된 점은 첫번째 집과 마지막 집의 색 또한 같아선 안된다는 점이다. 집들이 원으로 둘러져서 있다고 생각하면 편하다. 이때, 첫번째 집의 색을 하나로 결정한 후, 각각에 대해 dynamic programming을 통해 최솟값들을 구하면 된다. 첫번째 집의..
[C++] 백준 13398번 : 연속합 2 (G5) #문제 www.acmicpc.net/problem/13398 13398번: 연속합 2 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net #풀이 & 학습한 내용 supremo7.tistory.com/94에서 푼 연속합 문제의 응용문제이다. 하나의 수를 삭제할 수 있으므로 각각에 대해 최대연속합을 구하여 비교하면 되지만, 그럴경우 시간복잡도가 O(N^2)이 되므로 문제조건에 의해 불가능하다. 따라서 다른 방법을 생각해 볼 때, DL[i]는 i번째 수에서 끝나는 최대 연속합, DR[i]는 i번째 수에서 시작하는 최대 연속합이라 하면 DL[i - ..
[C++] 백준 11054번 : 가장 긴 바이토닉 부분 수열 (G3) #문제 www.acmicpc.net/problem/11054 11054번: 가장 긴 바이토닉 부분 수열 첫째 줄에 수열 A의 크기 N이 주어지고, 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ N ≤ 1,000, 1 ≤ Ai ≤ 1,000) www.acmicpc.net #풀이 & 학습한 내용 가장 긴 증가/감소하는 부분 수열 문제를 응용한 문제이다. 먼저 S1 Sk+1 > ... SN-1 > SN에서 Sk에 for문을 통해 수열에 있는 모든 수를 넣어준다. 이때의 시간복잡도는 O(N). 그리고 Sk기준으로 수열의 앞부분에서는 Sk를 포함하는 가장 긴 증가하는 부분 수열을 구하고, 수열의 뒷부분에서는 Sk를 포함하는 가장 긴 감소하는 부분 수열을 구..
[C++] 백준 11055번 : 가장 큰 증가 부분 수열 (S2) #문제 www.acmicpc.net/problem/11055 11055번: 가장 큰 증가 부분 수열 수열 A가 주어졌을 때, 그 수열의 증가 부분 수열 중에서 합이 가장 큰 것을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} 인 경우에 합이 가장 큰 증가 부분 수 www.acmicpc.net #풀이 & 학습한 내용 supremo7.tistory.com/92에서는 길이를 구했다면, 이 문제에서는 수의 합에 대해 살핀다. 따라서 맨 처음 그 수만 포함할때인 p[i]를 dp[i]에 저장하고, 그 앞의 수들에 대해 p[j] dp[i]를 통해 dp[i]를 갱신하며 결정한다. 그리고 dp배열의 값들 ..
[C++] 백준 11722번 : 가장 긴 감소하는 부분 수열 (S2) #문제 www.acmicpc.net/problem/11722 11722번: 가장 긴 감소하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 감소하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 30, 10, 20, 20, 10} 인 경우에 가장 긴 감소하는 부분 수열은 A = {10, 30, 10, 20, 20, 10} www.acmicpc.net #풀이 & 학습한 내용 supremo7.tistory.com/92에서 푼 문제에서 부호만 바뀐 문제이다. 맨 처음 그 수만 선택되었을 때인 1을 모두 넣어주고, 그 수 앞의 수들에 대해 p[j] > p[i] && dp[j] + 1 > dp[i]을 통해 dp[i]값을 결정한다. 그리고 dp배열 중 최댓값으로 답을 출력해준다. #소스..
1. HTML&CSS 기초 - (4) CSS 이해하기 ※ 다음 강좌를 들으며 정리한 내용입니다. www.edwith.org/boostcourse-ui/joinLectures/19142 [부스트코스] 웹 UI 개발 강좌소개 : edwith - 부스트코스 www.edwith.org 1) CSS 소개 - CSS는 간단히 이야기하면 HTML(마크업 언어)을 꾸며주는 표현용 언어입니다. HTML이 문서의 정보, 구조를 설계한다면 CSS는 문서를 보기 좋게 디자인합니다. - 모든 사이트가 비슷한 HTML 태그를 사용해서 만들어졌음에도 불구하고 각각 다양하고 독창적인 디자인으로 표현 가능한 이유가 바로 CSS 덕분입니다. 2) CSS 문법과 적용 - CSS도 몇 개의 규칙을 제외하고는 HTML과 마찬가지로 정해진 많은 속성과 그에 해당하는 값의 집합으로 이루어져 있습니..
1. HTML&CSS 기초 - (3) 콘텐츠모델, 시멘틱마크업, 블록 & 인라인 ※ 다음 강좌를 들으며 정리한 내용입니다. www.edwith.org/boostcourse-ui/joinLectures/19142 [부스트코스] 웹 UI 개발 강좌소개 : edwith - 부스트코스 www.edwith.org 1) 콘텐츠 모델 - HTML5에는 요소들이 가지고 있는 성격에 따라 요소의 종류를 정의하는 규칙들이 있습니다. 요소는 이 규칙들을 준수해야 하며, 반드시 HTML 권고안을 따라야 합니다. - 이런 규칙에 대해 비슷한 성격의 요소들끼리 그룹화한 것이 콘텐츠 모델이며, 각각의 요소들은 하나 또는 여러 개의 콘텐츠 모델에 속하게 됩니다. - Content Models 의 7 분류 Metadata Content : 콘텐츠의 style(표현), script(동작)을 설정하거나 다른 문서와의..
[C++] 백준 1932번 : 정수 삼각형 (S1) #문제 www.acmicpc.net/problem/1932 1932번: 정수 삼각형 첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다. www.acmicpc.net #풀이 & 학습한 내용 삼각형 내부의 어떤 수 기준으로 볼때 윗열에서 오는 수는 왼쪽에서 연결되거나 오른쪽에서 연결된다. "삼각형 내부의 i행 j열 위치에서 그 위치까지 연결된 합 중 최대"를 dp[i][j]이라 할 때, dp[i][j] = max({ dp[i - 1][j - 1], dp[i - 1][j] }) +p[i][j]인 substructure를 얻을 수 있다. 이를 토대로 for문을 구성하여 dp배열을 n까지 채운다. 그리고 마지막에 dp배열의 n행에 있는 값들 중 ..