https://www.acmicpc.net/problem/1931
풀이: 회의 정보를 배열에 저장한다.
저장된 배열을 끝나는 시간을 기준으로 정렬한다. (끝나는 시간이 같다면, 시작하는 시간을 기준으로 정렬)
배열을 처음부터 순회해간다.
저장된 끝값보다 현재 시작시간이 더 크다면, 끝값을 현재 끝나는 시간으로 바꾸고 사용할 수 있는 회의 수를 +1 해준다.
코드: 사용언어 : c++
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 #include <iostream>#include <vector>#include <algorithm>using namespace std; int n, ma = 0, e = -1; int main() { cin >> n; vector<pair<int, int>> v(n); for (int i = 0; i < n; i++) cin >> v[i].
https://www.acmicpc.net/problem/2565
풀이: c[i] = i 위치 이전 값 중 겹치는 것이 없는 갯수의 최대
연결된 전깃줄 A와 전깃줄 B 를 배열에 저장한다.
저장된 배열을 전깃줄 A를 기준으로 정렬한다.
첫번째 원소부터, 이전 원소 중 전깃줄 B가 더 작은 값 중 c[i] 의 최댓값 + 1을 저장한다.
max값에 c[i]의 최댓값 + 1 중 최댓값을 저장한다.
n - max값을 출력한다.
코드: 사용언어 : c++
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 #include <iostream>#include <vector>#include <algorithm>using namespace std; int n, a, b, c[101], ma = 0; vector<pair<int, int>> v; int main() { cin >> n; for (int i = 0; i < n; i++) { cin >> a >> b; v.
https://www.acmicpc.net/problem/9375
풀이: 프로그래머스]위장 을 참고
코드: 사용언어 : c++
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 #include <iostream>#include <vector>#include <string>#include <map>using namespace std; int main() { int n, m, ma; cin >> n; while (n--) { ma = 1; cin >> m; string s; map<string, int> a; for (int i = 0; i < m; i++) { cin >> s >> s; a[s]++; } for (auto i = a.
https://programmers.co.kr
문제: 가로, 세로 길이가 n인 정사각형으로된 체스판이 있습니다. 체스판 위의 n개의 퀸이 서로를 공격할 수 없도록 배치하고 싶습니다.
예를 들어서 n이 4인경우 다음과 같이 퀸을 배치하면 n개의 퀸은 서로를 한번에 공격 할 수 없습니다.
체스판의 가로 세로의 세로의 길이 n이 매개변수로 주어질 때, n개의 퀸이 조건에 만족 하도록 배치할 수 있는 방법의 수를 return하는 solution함수를 완성해주세요.
풀이: 첫번째 줄부터 n번째 줄까지 퀸을 하나 씩 놓을 수 있다.
i번째 줄에 0 ~ n까지 퀸을 놓는다고 할 때,