백준(722)
-
[백준/BOJ] 백준 1966번 : 프린터 큐
https://www.acmicpc.net/problem/1966 1966번: 프린터 큐 문제 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료�� www.acmicpc.net 문서의 중요도를 저장할 우선순위 큐와 각 문서의 위치와 그에 해당하는 중요도를 저장할 큐를 만들었다. 우선순위 큐의 top부분과 큐의 front부분 중요도가 같은지 비교해, 중요도가 같다면 프린트하고 그렇지 않으면 큐에서 해당 부분을 뒤로 보냈다. 그리고 프린트를 할 때 그 문서가 궁금한 문서이면 그때의 문서가 몇 번째로 인쇄되는지 구하였다. 코드 #include #include #include ..
2020.06.05 -
[백준/BOJ] 백준 14888번 : 연산자 끼워넣기
https://www.acmicpc.net/problem/14888 14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, �� www.acmicpc.net 완전 탐색(브루트 포스)을 이용해 문제를 해결하였다. 덧셈은 0, 뺄셈은 1, 곱셈은 2, 나눗셈은 3으로 구별해 순열을 만들어 가능한 모든 연산자의 위치를 구해 연산 결과의 최댓값과 최솟값을 구하였다. 코드 #include #include #include using namespace std; int main() { cin.tie(NUL..
2020.06.04 -
[백준/BOJ] 백준 6603번 : 로또
https://www.acmicpc.net/problem/6603 6603번: 로또 문제 독일 로또는 {1, 2, ..., 49}에서 수 6개를 고른다. 로또 번호를 선택하는데 사용되는 가장 유명한 전략은 49가지 수 중 k(k>6)개의 수를 골라 집합 S를 만든 다음 그 수만 가지고 번호를 선택하는 www.acmicpc.net k개중 6개를 사전 순으로 선택해 모든 방법을 출력한다. k개중 6개를 선택하는 방법은 check라는 벡터에 0을 6개, 1을 k-6개를 넣어 모든 순열을 생성하였다. 그리고 각 순열 하나마다 0이 어떤 위치에 있는지를 파악하여 해당 위치에 있는 input원소를 출력하였다. 코드 #include #include #include using namespace std; int main..
2020.06.04 -
[백준/BOJ] 백준 7568번 : 덩치
https://www.acmicpc.net/problem/7568 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x,y)로 표시된다. 두 사람 A 와 B의 덩� www.acmicpc.net 완전 탐색(브루트 포스)을 이용해 문제를 해결했다. 정보를 입력받고, 각 사람마다 전체 사람들과 비교하여 자신보다 덩치가 큰사람의 수를 세어 자신의 등수를 계산했다. 코드 #include #include #include #include #include using namespace std; int main() { cin.tie(NULL); ios_base::sync_with_stdio(..
2020.06.03 -
[백준/BOJ] 백준 2231번 : 분해합
https://www.acmicpc.net/problem/2231 2231번: 분해합 문제 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+ www.acmicpc.net 완전 탐색(브루트 포스)을 통해 문제를 해결하였다. 문자열로 n을 입력받고 n의 가장 작은 생성자를 찾기 위해 0부터 n의 생성자가 맞는지 확인하였다. 코드 #include #include #include #include using namespace std; int solve(string n) { int ret = 987654321; //0부터 생성자를 찾는다. for (..
2020.06.03 -
[백준/BOJ] 백준 14501번 : 퇴사
https://www.acmicpc.net/problem/14501 14501번: 퇴사 첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다. www.acmicpc.net 완전 탐색(브루트 포스)을 이용해 문제를 풀었다. 가능한 상담을 모두 탐색해, 최대 이익을 얻었다. 어떠한 상담을 하는데 그 일이 퇴사일 이상 끝날 때의 상담은 추가하지 않았지만, 정확히 퇴사일 전날 끝나는 상담이라면 추가하였다. 이러한 판단은 어떠한 상담을 하고 난 다음, 상담 가능한 최소 날짜를 만들어 구분하였는데, 만약 상담 A를 하고 난 뒤, 다음에 상담할 수 있는 최소 날짜가 정확히 퇴사일이라면, 상담 A를 끝나면 퇴사일 전날이라 가능하고, 최소 날짜가 그 이후라면 상담 A는 불가능하다. 코드 #include #include..
2020.06.03