[백준]1931번 회의실 배정 c/c++
·
개발/백준 & 프로그래머스
문제 https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 설명 회의시간들을 끝나는시간이 빠른순으로 정렬하고 끝나는시간이 동일하다면 시작하는 시간이 빠른순으로 정렬한다. (회의시작과 끝나는시간이 같을수도 있기 떄문에!!) 따라서 시작하는 시간, 끝나는 시간을 pair 에 반대로 저장해주었다. t는 현재 시간이며, 0으로 초기화 해두고 제일 먼저 끝나는 회의시간을 t로 초기화 해두고 cnt값도 증가시킨다. for문을 돌리며 다음 회의 시작시간 > n; for (int i = 0; i > s[i].second >> s[i].first; }..
[백준]11047번 동전 0 c/c++
·
개발/백준 & 프로그래머스
문제 https://www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 설명 가장 큰 동전부터 최대한 지불해야 하는 값을 채우는 방식이다. 그리디 알고리즘으로 매순간 최적이라고 생각되는 경우를 선택하면 됨 왜 그리디 알고리즘 인가?? 이렇게 단순하게 거스름돈을 지불해야 하는 상황에서 큰 동전만을 생각하고 다른 동전은 생각하지 않기 때문에 매순간 최적이라고 생각되는 경우를 선택하는 그리디 알고리즘이라..
[백준]1475번 방 번호 c/c++
·
개발/백준 & 프로그래머스
문제 https://www.acmicpc.net/problem/1475 1475번: 방 번호 첫째 줄에 다솜이의 방 번호 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 코드 #include #include using namespace std; int main() { ios::sync_with_stdio(0); cin.tie(0); // N=0 일때는 max 값은 1이므로 ans를 1로 둔다. int N, a[10] = {}, ans = 1; cin >> N; // 자리수 추출 while (N) { //정수 0을 제외한 값은 모두 1(true)의 값을 갖는다. a[N % 10]++; N /= 10; } for (int i = 0; i < 10; i++) {..
[백준]1926번 그림 c++
·
개발/백준 & 프로그래머스
https://blog.encrypted.gg/941?category=773649 를 참고하였다. 문제 https://www.acmicpc.net/problem/1926 1926번: 그림 어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓은 것의 넓이를 출력하여라. 단, 그림이라는 것은 1로 연결된 것을 한 그림이라고 정의하자. 가로나 세로 www.acmicpc.net 설명 구해야 하는것은 2가지 이다. 1. 그림의 개수 2. 그림중 넓이가 가장 넓은 것의 넓이 1. 을 구할땐 큐에서 pop을 몇번 했는지 세어주면 되고 2. 는 이중 for문을 돌려 bfs의 시작점이 될 수 있는지를 체크해주면 된다. 코드 #include #include #include #inclu..
[백준]11653번 소인수분해 c++
·
개발/백준 & 프로그래머스
문제 https://www.acmicpc.net/problem/11653 11653번: 소인수분해 첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다. www.acmicpc.net 코드 #include using namespace std; int main() { int n; cin >> n; if (n == 1)return 0; for (int i = 2; i