geniusjo(9)
-
[백준/BOJ] 백준 1018번 : 체스판 다시 칠하기
https://www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 완전 탐색(브루트 포스)을 이용해 문제를 해결하였다. 주어진 보드에서 가능한 모든 8*8 형태의 보드를 구해 그중 다시 칠해야 하는 개수의 최솟값을 구했다. 체스판의 형태는 왼쪽 상단이 W이거나 B인 두 경우 뿐이라는 성질을 이용했다. 코드 #include #include #include #include using namespace std; int solve(vector board) { i..
2020.06.05 -
[백준/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