https://www.acmicpc.net/problem/2156 2156번: 포도주 시식 효주는 포도주 시식회에 갔다. 그 곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규 www.acmicpc.net 동적계획법 C++ 계단 오르기 문제와 로직이 동일해보여서 풀기 시작했는데 닮은듯 달랐다. 계단오르기와 차이점은 우선 두칸이상 건너뛸 수 있다. (근데 사실상 세칸이상 건너뛰는 경우는 없다. 가운데 하나를 먹어야 이득이니까) 그리고 꼭 마지막 주스를 먹어야할 필요가 없다. (최종 값을 출력할때 n-1칸과 n-2칸의 값을 비교해서 출력해야함) 차이점은 두갠데 그래서 많은 것이 추가됐다.. 접근방법은 계..
https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 동적계획법 C++ 문제는 위에 사진 참고 (설명 매우 귀찮다 딱히 요약할 것도 없응께) N의 범위는 1부터 10^6 까지 접근방법 n개의 정수 배열을 사용한다. 배열에는 해당 수가 1이 되는데에 필요한 연산의 최소 횟수가 저장된다. 1: 0회, 2: 1회, 3: 1회까지 미리 저장해두고 4부터는 [ 1을 뺀 수의 연산 최소횟수 + 1 , 3으로 나눈 값의 연산 최소횟수 + 1 (3으로 나누어질때만), 2로 나눈 값의 연산 최소횟수 + 1 (2로 나누어질때만) ] 이 중 가장 작은 값을 해당 인덱스의 배열에 저장..
https://www.acmicpc.net/problem/2579 2579번: 계단 오르기 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점 www.acmicpc.net 동적계획법 C++ 연속으로 세칸을 오를 수 없고 / 그림처럼 한 칸 혹은 두 칸씩 오를 수 있다. 각 계단 마다 점수가 배정돼있고 위의 규칙을 지키면서 그 점수의 합이 최대가 되는 경우 최댓값을 출력하기 접근방법 이 문제도 작은 부분에서의 최댓값을 구해가면서 풀었다. 각 칸에서의 최댓값을 저장하면서 갱신해갔다. 해당 칸에서 그 전칸의 최댓값, 그 전전칸의 최댓값을 비교해가면서 저장해간다. 너무 추상적으로 썼는..
https://www.acmicpc.net/problem/1932 1932번: 정수 삼각형 문제 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 위 그림은 크기가 5인 정수 삼각형의 한 모습이다. 맨 위층 7부터 시작해서 아래에 있는 수 중 하나를 선택하여 아래층으로 내려올 때, 이제까지 선택된 수의 합이 최� www.acmicpc.net 동적계획법 C++ 숫자 트리에서 숫자들의 합이 최대가 되는 경로 구하기(최댓값 출력) 접근방법 전형적인 DP 상향식 풀이로 풀었다. 가장 밑 행부터 모든 숫자에 대해 해당 자리까지의 최댓값을 저장해가면서 값을 갱신한다. 예를들어 위의 사진에서 4번째 행 첫번째 자리 2에서 최댓값을 가지려면 4,5중 5를 선택해야하니까 원래 2가 있던 자리에 2+5 = 7을 저장한..
https://www.acmicpc.net/problem/1149 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net 동적계획법 C++ 각 집을 빨강, 초록, 파랑으로 칠할때의 비용을 입력받고 인접한 집은 서로 색이 다르도록 칠한 경우 모든 집을 칠했을 때 드는 최저비용구하기 접근방법 DP 문제라서 첫번째까지의 최선, 두번째 까지의 최선,,,,을 구해가면 되겠다 까지는 알겠는데 뭔가 부족한 부분이 있었다. 첫번째 까지의 최선을 저장하는 값이 하나가 아니라 한 집당 세개의 색을 칠했을 경우 모..
https://www.acmicpc.net/problem/1874 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net 스택 C++ 처음에 문제 이해를 못해서 이해하는데 시간이 좀 걸렸다. 1부터 n까지의 수가 연속된 수라는 점을 이해하면 된다. 1부터 n까지의 수가 섞여있는 수열이 주어지고 나는 1,2,3,4,...,n 까지의 수를 순서대로 스택에 push할 수 있고 또 pop하면서 결과적으로 pop하여 만들어진 수열이 입력된 수열..
https://www.acmicpc.net/problem/4949 4949번: 균형잡힌 세상 문제 세계는 균형이 잘 잡혀있어야 한다. 양과 음, 빛과 어둠 그리고 왼쪽 괄호와 오른쪽 괄호처럼 말이다. 정민이의 임무는 어떤 문자열이 주어졌을 때, 괄호들의 균형이 잘 맞춰져 있는지 판단 www.acmicpc.net 스택 C++ (2011 ICPC japan) 괄호가 섞인 문자열이 주어지고 괄호가 균형이 맞는지 조사하는 문제 (, [ 가 입력되면 stack에 push하고 ), ]가 입력되면 stack에서 pop한 값이 짝이 맞는지 검사한다. 이때 짝이 맞지 않으면 균형잡힌 문자열이 아닌걸로 판단하고 결과를 출력하고 또 마지막에 stack이 비어있지 않으면 균형잡힌 문자열이 아닌걸로 판단하고 출력한다. 소스코드..
https://www.acmicpc.net/problem/9012 9012번: 괄호문제 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)��www.acmicpc.net 스택 C++(,) 괄호로만 구성되어 있는 문자열에서 괄호가 짝이 맞는지 검사하는 문제 아무래도 문자열이 아직도 손에 익지 않은 것 같다.입력받는데에서 확신이 없어서 의심을 멈출수가 없었다.ㅋㅋ 스택을 굳이 써야하나 싶어서 스택 안쓰고 코드를 짜다가잘 안돼서 그냥 스택을 쓰자 하고 정석으로 풀었다.역시 정도가 가장 빠른길이여 스택은 하나 넣을때마다 처리! 가 중요한 ..
(어마무시하게 긴 서론) 지난 학기가 전면 온라인 원격수업으로 대체되면서 교육시스템에 업로드되는 강의를 시청하여 시청시간이 영상시간 만큼 되면 출석으로 확인되는 시스템이 적용됐었다. 교수님들 마다 달랐지만 대부분 영상시청이 출석으로 인정되는 기간이 정해져있었다.(대부분 일주일) 나를 비롯한 주변에 많은 동기들이 온라인강의 시청을 미루게 되고 그러다가 출석기간을 놓쳐버리기도 해서 내가 지금 무슨 강의를 얼마나 안들었고 또 언제까지 들어야 하는지 알려주는(모아보는) 프로그램이 있으면 정말 좋겠다고 생각했을거다.(아마?) 사실 매번 조금 번거럽다고 생각하기는 했지만 아 너무 불편하다. 하면서 만들기 시작한건 아니고 타대학교 컴공에서 이런 프로그램을 만든 사례를 봤다. 그래서 거기서 온 자존심..?때문에 아 우..
https://www.acmicpc.net/problem/10773 10773번: 제로 문제 나코더 기장 재민이는 동아리 회식을 준비하기 위해서 장부를 관리하는 중이다. 재현이는 재민이를 도와서 돈을 관리하는 중인데, 애석하게도 항상 정신없는 재현이는 돈을 실수로 잘못 �� www.acmicpc.net 스택 C++ 숫자를 입력받아 스택에 쌓다가 0을 입력받으면 pop하고 마지막에 스택에 쌓여있는 수의 합을 구하는 문제 스택 문제가 대체로 평이한 것 같다. 소스코드 #include using namespace std; class Stack{ public: int size; int* stack; Stack(int maxSize){ size = 0; stack = new int[maxSize]; } void ..
- Total
- Today
- Yesterday
- 다이나믹프로그래밍
- Stack
- 파이썬
- 웹크롤링
- 동적계획법
- 알고리즘
- 이분탐색
- 토마토
- 수학
- 우선순위큐
- c++
- 자바
- 투포인터
- 스택
- Swift
- 최소힙
- dfs
- 트리
- BFS
- dp
- 백준
- 최단경로
- 브루트포스
- 프로그래머스
- 백트래킹
- 게임이론
- 문자열
- 최대힙
- 그리디알고리즘
- 정렬
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |