본문 바로가기

Problem Solving/백준35

[백준] 2357번 : 최솟값과 최대값 https://www.acmicpc.net/problem/2357 2357번: 최솟값과 최댓값 N(1 ≤ N ≤ 100,000)개의 정수들이 있을 때, a번째 정수부터 b번째 정수까지 중에서 제일 작은 정수, 또는 제일 큰 정수를 찾는 것은 어려운 일이 아니다. 하지만 이와 같은 a, b의 쌍이 M(1 ≤ M ≤ 100 www.acmicpc.net #include using namespace std; typedef long long ll; typedef vector vl; ll init_min(vl& arr, vl& tree, int node, int start, int end) //최솟값 관련 트리 { if (start == end) return tree[node] = arr[start]; ll mid.. 2020. 7. 10.
[백준] 2042번 : 구간 합 구하기 https://www.acmicpc.net/problem/2042 2042번: 구간 합 구하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)과 M(1 ≤ M ≤ 10,000), K(1 ≤ K ≤ 10,000) 가 주어진다. M은 수의 변경이 일어나는 횟수이고, K는 구간의 합을 구하는 횟수이다. 그리고 둘째 줄부터 N+1번째 줄�� www.acmicpc.net //세그먼트 트리 이용 (2042번 - 구간 합 구하기) #include using namespace std; typedef long long ll; ll init(vector & v, vector& tree, int node, int start, int end) { if (start == end) { return tree[node] .. 2020. 7. 9.
[백준] 1977번 : 완전제곱수 https://www.acmicpc.net/problem/1977 1977번: 완전제곱수 M과 N이 주어질 때 M이상 N이하의 자연수 중 완전제곱수인 것을 모두 골라 그 합을 구하고 그 중 최솟값을 찾는 프로그램을 작성하시오. 예를 들어 M=60, N=100인 경우 60이상 100이하의 자연수 중 완� www.acmicpc.net #include using namespace std; typedef long long ll; int arr[101]; int main() { int m, n; cin >> m >> n; int cnt = 0; for (int i = 1; i = m) && (i * i 2020. 6. 26.
[백준] 2579번 : 계단 오르기 https://www.acmicpc.net/problem/2579 2579번: 계단 오르기 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점 www.acmicpc.net #include using namespace std; int arr[301]; int dp[301]; int main() { int n; cin >> n; for (int i = 0; i > arr[i]; dp[0] = arr[0]; dp[1] = max(arr[0] + arr[1], arr[1]); dp[2] = max(arr[0] + arr[2], arr[1] + arr[2]);.. 2020. 6. 24.
[백준] 2875번 : 대회 or 인턴 https://www.acmicpc.net/problem/2875 2875번: 대회 or 인턴 문제 백준대학교에서는 대회에 나갈 때 2명의 여학생과 1명의 남학생이 팀을 결성해서 나가는 것이 원칙이다. (왜인지는 총장님께 여쭈어보는 것이 좋겠다.) 백준대학교는 뛰어난 인재들이 많아 www.acmicpc.net #include using namespace std; int main() { int n, m, k; cin >> n >> m >> k; int cnt = 1; int limit = n + m - k; while (true) { //조건1,2,3 중 하나라도 만족하지 않았을땐 break로 탈출! if ((cnt * 2 > n) || (cnt > m) || (cnt * 3 > limit)) break;.. 2020. 6. 23.
[백준] 2667번 : 단지 번호 붙이기 https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집들의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. � www.acmicpc.net #include using namespace std; int n; int house[26][26] = { 0 }; int danji_max[1000]; //index 1을 1단지로 하기! index 1부터 출력! int danji_index = 0; int dir[4][2] = { {1,0},{-1,0},{0,1},{0,-1} }; //한 점으로 부터의 UP,DOWN,RIGHT,LEFT int i.. 2020. 6. 21.