본문 바로가기

분류 전체보기151

[백준] 11053 가장 긴 증가하는 부분수열 c++ 문제 링크 https://www.acmicpc.net/problem/11053 KEY 현재 자신과 이전에 나왔던 수들을 비교해가면서, 현재 자신 > 이전의 수를 만족할 경우에 길이+1을 해주고, 가장 긴 길이를 자신의 길이로 취한다. 예시로 다음의 수열이 있다. 10 20 10 30 20 50 10부터 시작한다. 길이는 1이다. 20에 도착했다. 20>10을 만족하므로 길이는 1+1 = 2이다. 10에 도착했다. 자신보다 작은 수는 없으므로 길이는 1이다. 30에 도착했다. 30>10을 만족하므로 길이는 1+1 = 2이 될 수 있다. 30>20을 만족하므로 길이는 2+1 = 3이 될 수 있다. 이 중 길이가 가장 큰 것은 3이므로 길이는 3이 된다. 20에 도착했다. 20>10이므로 길이는 1+1 = 2.. 2023. 3. 27.
[백준] 1932 정수 삼각형 c++ 문제 링크 https://www.acmicpc.net/problem/1932 KEY 프로그래머스 문제와 완전히 똑같은 문제이다. https://everydayyy.tistory.com/96 맨 왼쪽인 경우, 맨 오른쪽인 경우, 그렇지 않은 경우 총 3가지의 경우를 생각하여 더해나가면 된다. Code 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 32 33 34 35 36 37 38 39 40 41 42 #include #include #include #include #include #include using namespace std; int n; int arr[501][501]; int dp[501][.. 2023. 3. 26.
[백준] 9461 파도반 수열 c++ 문제 링크 https://www.acmicpc.net/problem/9461 KEY dp[i] = dp[i-3] + dp[i-2]의 점화식을 찾았다면 쉽게 풀 수 있는 문제이다. 피보나치 수열의 경우 N이 커짐에 따라 빠르게 증가하므로, 반드시 long long 자료형을 써야 한다. Code 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #include #include #include #include #include #include using namespace std; long long arr[101]; int t,n; int main() { arr[0] = 1; arr[1] = 1; arr[2] = 1; for (int i = 3; i > t; w.. 2023. 3. 23.
[백준] 1715 카드 정렬하기 c++ 문제 링크 https://www.acmicpc.net/problem/1715 KEY 우선순위 큐를 활용하는 간단한 문제이다. 두 카드묶음을 선택할 때, 순서대로 고르지 않아도 되고 무작위로 두개를 선택해도 되므로, 스택(stack)이 아닌 우선순위 큐(priority_queue)를 사용한다. N의 조건이 1부터 100,000이라서 N이 1일때도 고려해야 하는데 1일때를 고려해서 풀면 오히려 오답이 나온다..🤔 Code 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 32 33 #include #include #include #include #include #include using namespace st.. 2023. 3. 21.
[백준] 1946 신입사원 c++ 문제 링크 https://www.acmicpc.net/problem/1946 KEY 그리디 유형의 문제의 상당 부분은 정렬을 통해서 풀 수 있는데, 이 문제 역시 벡터의 정렬을 통해 해결할 수 있다. 서류순위, 면접순위 두 가지를 고려해야 하므로 서류순위를 오름차순으로 정렬하여 고정한 후, 면접 순위만을 고려하면 된다. 서류순위를 오름차순 정렬했기 때문에 면접순위를 고려할 때, n번째 신입사원은 1 ~ n-1번째 신입사원의 면접순위보다 높아야 한다. Code 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 32 33 #include #include #include #include #include #inc.. 2023. 3. 20.
[백준] 11047 동전0 c++ 문제 링크 https://www.acmicpc.net/problem/11047 KEY 금액이 큰 단위부터 K값을 비교해 나가야 동전 개수가 최소가 된다. 따라서 금액 단위를 내림차순 정렬만 하면 되므로, 쉽게 접근할 수 있던 문제였다. Code 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 #include #include #include #include #include #include using namespace std; int N,K; vector v; int answer; int main() { cin >> N >> K; for (int i = 0; i > coin; v.push_back(coin); } sort(.. 2023. 3. 20.