백준16 백준 17420번 깊콘이 넘쳐흘러 - 문제 설명 기프티콘 N개 선물 받은 정우는 기한 연장을 최소 횟수로 연장을 하면서 기프티콘을 다 쓸 수 있도록 하고 싶다. - 조건 1) 한 기프티콘을 한 번 연장할 때마다 기한이 30일씩 늘어난다. 2) 남은 기프티콘 중 기한이 가장 적게 남은 기프티콘만 사용할 수 있다. 3) 하루에 여러 기프티콘을 사용하거나 연장하는 것 모두 가능하다. - 입력 첫 째 줄에 기프티콘의 수 N 이 주어진다. (1 N; int i; for (i = 0; i > A[i]; } for (i = 0; i > B[i]; } for (i = 0; i < N; i++) { arr.push_back({ A[i], B[i] }); } // 32 비트 정수 초과 경우 고려.. 2020. 9. 28. 백준 1655번 가운데를 말해요 - 문제 설명 수빈이는 동생에게 '가운데를 말해요' 게임을 가르쳐주고 있다. 수빈이가 정수를 하나씩 외칠때마다 동생은 지금까지 수빈이가 말한 수 중에서 중간값을 말해야한다. 만약, 그동안 수빈이가 외친 수의 개수가 짝수개라면 중간에 있는 두 수 중에서 작은 수를 말해야 한다. - 입력 첫째 줄에는 수빈이가 외치는 정수의 개수 N (1 > N; int i; for (i = 0; i > arr[i]; } q_max.push(arr[0]); cout q_min.top()) { int t1 = q_min.top(); q_min.pop(); int t2 = q_max.top(); q_max.pop(); q_min.push(t2); q_max.push(t1); } cout 사용언어 :.. 2020. 8. 12. 백준 12015번 가장 긴 증가하는 부분 수열 2 - 문제 설명 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램 작성 ex) A = {10,20,10,30,20,50} 인 경우 가장 긴 증가하는 부분 수열은 {10,20,30,50} 이다. 길이는 4이다. - 입력 첫째 줄에 수열 A의 크기 (1 > A[i]; } lis.push_back(A[0]); int l_idx = 0; for (i = 1; i 에디터 : Visual Studio 2017 > 궁금한점은 댓글.. 2020. 8. 10. 백준 2565번 전깃줄 - 문제 설명 두 전봇대 A와 B의 전깃줄이 임의로 연결되어 있을 때, 서로 겹치지 않도록 전깃줄들을 배치할 때 없애야 하는 전깃줄의 최소 개수를 구하는 프로그램 작성 - 입력 첫째 줄에는 두 전봇대 사이의 전깃줄의 개수가 주어진다. (전깃줄의 개수는 100 이하의 자연수) 둘째 줄에는 한 줄에 하나 씩 A전봇대와 B전봇대가 연결되는 위치의 번호가 주어진다. (위치의 번호는 500 이하의 자연수, 같은 위치에 두 개 이상의 전깃줄이 연결될 수 없다.) - 출력 모든 전깃줄이 서로 교차하지 않게 하기 위해 없애야 하는 전깃줄의 최소 개수 * 문제 풀이의 핵심 0. 알고리즘 : LIS 알고리즘 모든 전깃줄이 연결된 상태에서 없애는 것이 아니라, 어떤 전깃줄을 선택하면 서로 교차하지 않고 가장 많이 연결할 수.. 2020. 8. 7. 백준 1300번 K번째 수 - 문제 설명 배열 A는 크기가 N*N 인 2차원 배열, 배열 B는 크기가 N*N 인 1차원 배열 A[i][j] = i * j 로 이루어진 2차원 배열의 모든 원소를 배열 B에 넣고 오름차순 정렬했을 때 B[k]의 값을 구하는 문제 ※ 배열 A와 B의 인덱스는 1부터 시작한다. - 입력 첫째 줄에 배열의 크기 N (1 k; long long left = 1; long long right = (N * N); while (left = k) { right = mid; } else { left = mid + 1; } } cout 사용언어 : C++ > 에디터 : Visual Studio 2.. 2020. 8. 6. 백준 1037번 약수 - 문제 설명 N의 진짜 약수들이 입력으로 주어졌을 때, N의 값을 구하는 문제 ※ 진짜 약수 : 1과 N을 제외한 약수 ex) 25의 진짜 약수 : 5 - 입력 첫째 줄에 N의 진짜 약수의 개수 (1 N; vector num; int i; for (i = 0; i > n; num.push_back(n); } sort(num.begin(), num.end()); cout 사용언어 : C++ > 에디터 : Visual Studio 2017 > 궁금한점은 댓글로 남겨주세요 2020. 8. 5. 알고리즘 카테고리 알고리즘 문제 해설 및 코드 업로드 예정 - 사용언어 : C++ - 에디터 : Visual Studio 2017 2020. 8. 5. 이전 1 2 다음