그리디 63

BOJ 25577 : 열 정렬정렬 정

문제 링크 : boj.kr/25577 난이도 : G4 태그 : 정렬, 그리디 25577번: 열 정렬정렬 정 첫 번째 줄에 배열의 크기 $N(4 ≤ N​ ≤ 100\,000)$이 주어진다. 그다음 줄에 배열의 원소 $A_1, A_2, \cdots, A_n (-10^9 ≤ A_i ≤ 10^9, i \neq j $ 이면 $ A_i \neq A_j )$ 이 주어진다. 배열의 원소는 모두 정수이다 www.acmicpc.net 코드 #include #define all(x) (x).begin(), (x).end() #define INF 0x7FFFFFFF using namespace std; using ll = long long; using ld = long double; using pii = pair; using..

PS 2024.04.11

BOJ 27279 : 조사전달

문제 링크 : boj.kr/27279 난이도 : G4 태그 : 정렬, 그리디 27279번: 조사전달 만약 각 병사들이 순서대로 $\{1\}$, $\{2, 4\}$, $\{1, 2, 3, 4\}$, $\{2, 3, 4\}$, $\{1, 2, 3, 4\}$번 사역이 가능하다고 했다면, $1$번 사역에 $1$번 병사를, $2$번 사역에 $2$번 병사를, $3$번 사역에 $3$번과 $4$번 병 www.acmicpc.net 코드 #include #define all(x) (x).begin(), (x).end() #define INF 0x7FFFFFFF using namespace std; using ll = long long; using ld = long double; using pii = pair; using ..

PS 2024.04.10

BOJ 1461 : 도서관

문제 링크 : boj.kr/1461 난이도 : G4 태그 : 그리디, 정렬 1461번: 도서관 세준이는 도서관에서 일한다. 도서관의 개방시간이 끝나서 세준이는 사람들이 마구 놓은 책을 다시 가져다 놓아야 한다. 세준이는 현재 0에 있고, 사람들이 마구 놓은 책도 전부 0에 있다. 각 책 www.acmicpc.net 코드 #include #define all(x) (x).begin(), (x).end() #define INF 0x7FFFFFFF using namespace std; using ll = long long; using ld = long double; using pii = pair; using pll = pair; int main() { ios::sync_with_stdio(0); cin.tie..

PS 2024.04.02

BOJ 12934 : 턴 게임

문제 링크 : boj.kr/12934 난이도 : G5 태그 : 그리디 12934번: 턴 게임 윤호가 1, 2, 4 턴을 이기고, 동혁이가 3, 5, 6 턴을 이겼다면 가능한 결과이다. 윤호의 승리 횟수가 최소가 되는 경우는 윤호가 1, 6 턴을 이기고, 동혁이가 2, 3, 4, 5를 이긴 것이다. www.acmicpc.net 코드 #include #define all(x) (x).begin(), (x).end() #define INF 0x7FFFFFFF using namespace std; using ll = long long; using ld = long double; using pii = pair; using pll = pair; int main() { ios::sync_with_stdio(0); c..

PS 2024.03.31

BOJ 24337 : 가희와 탑

문제 링크 : boj.kr/24337 난이도 : G3 태그 : 그리디, 해 구성하 24337번: 가희와 탑 일직선으로 다양한 높이의 건물들이 N개 존재합니다. 가희는 건물들의 왼쪽에, 단비는 건물들의 오른쪽에 있습니다. 일직선 상에 가희와 단비, 건물들은 아래와 같은 순서로 배치되어 있습니다. www.acmicpc.net 코드 #include #define all(x) (x).begin(), (x).end() #define INF 0x7FFFFFFF using namespace std; using ll = long long; using ld = long double; using pii = pair; using pll = pair; int main() { ios::sync_with_stdio(0); cin..

PS 2024.03.17

BOJ 31410 : 제독 작전

문제 링크 : boj.kr/31410 난이도 : G3 태그 : 그리디, 정렬 31410번: 제독 작전 부대에 미확인 오염 물질이 발생해 위기에 빠졌다! 오염 물질은 부대 내의 수직선 위의 서로 다른 $N$개의 위치에 발생했으며, 그중 $i$번째 오염 물질의 오염도는 $p_i$이며 $x_i$ 위치에 발생했다. www.acmicpc.net 코드 #include #define all(x) (x).begin(), (x).end() #define INF 0x7FFFFFFF using namespace std; using ll = long long; using ld = long double; using pii = pair; using pll = pair; int main() { ios::sync_with_stdio..

PS 2024.03.16

BOJ 13884 : 삭삽 정렬

문제 링크 : boj.kr/13884 난이도 : G5 태그 : 정렬, 그리디 13884번: 삭삽 정렬 선종이는 최근에 배열을 정렬하는 새로운 알고리즘을 이길흥 교수님의 강의에서 배웠습니다. 그 알고리즘은 배열의 숫자들을 반복적으로 삭제, 삽입을 수행하여 배열을 정렬합니다. 선종이는 www.acmicpc.net 코드 #include #define all(x) (x).begin(), (x).end() #define INF 0x7FFFFFFF using namespace std; using ll = long long; using ld = long double; using pii = pair; using pll = pair; int main() { ios::sync_with_stdio(0); cin.tie(0)..

PS 2024.03.14

BOJ 1885 : 비부분수열

문제 링크 : boj.kr/1885 난이도 : G3 태그 : 그리디, 애드혹 1885번: 비부분수열 수열에서 몇 개의 수를 순서대로 골라 만들 수 있는 수열을 부분수열이라고 한다. 예를 들어 수열 S = [1, 5, 3, 2, 5, 1, 3, 4, 4, 2, 5, 1, 2, 3]에서 첫 번째, 다섯 번째, 일곱 번째, 열 번째 수를 고르면 부 www.acmicpc.net 코드 #include #define all(x) (x).begin(), (x).end() #define INF 0x7FFFFFFF using namespace std; using ll = long long; using ld = long double; using pii = pair; using pll = pair; int main() { ..

PS 2024.03.09

BOJ 1540 : 정사각형의 개수

문제 링크 : boj.kr/1540 난이도 : G3 태그 : 그리디, 수학 1540번: 정사각형의 개수 첫째 줄에 N이 주어진다. 이 값은 0보다 크거나 같고, 1000000보다 작거나 같은 값이다. www.acmicpc.net 코드 #include #define all(x) (x).begin(), (x).end() #define INF 0x7FFFFFFF using namespace std; using ll = long long; using ld = long double; using pii = pair; using pll = pair; int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n; cin >> n; int ans = 0; i..

PS 2024.03.07

BOJ 2036 : 수열의 점수

문제 링크 : boj.kr/2036 난이도 : G4 태그 : 그리디, 정렬 2036번: 수열의 점수 n개의 정수로 이루어진 수열이 있다. 이 수열에서 한 정수를 제거하거나, 또는 두 정수를 제거할 수 있다. 한 정수를 제거하는 경우에는 그 정수가 점수가 되고, 두 정수를 제거하는 경우에는 두 www.acmicpc.net 코드 #include #define all(x) (x).begin(), (x).end() #define INF 0x7FFFFFFF using namespace std; using ll = long long; using ld = long double; using pii = pair; using pll = pair; int main() { ios::sync_with_stdio(0); cin...

PS 2024.03.04