목록Brute Force Algorithm (40)
기록방
👉 문제링크 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net 🔸 문제 분석 🔸 N x M 연구소 격자 맵에 빈 칸은 0, 벽은 1, 바이러스는 2로 입력된다. 바이러스는 상하좌우 인접한 빈 칸으로 퍼져나간다. 벽을 3개 세워서 바이러스가 다 퍼진 후 나올 수 있는 빈 칸의 수 최대값을 출력한다. 3개의 벽을 설치할 위치를 조합으로 구한다. BFS로 바이러스가 퍼진 상태로 만든다. 0의 수를 세서 최대값을 출력한다. 🔸 코드 🔸 import java.io.BufferedReader; import java.io.IOExcept..
👉 문제링크 6987번: 월드컵 월드컵 조별 최종 예선에서는 6개국으로 구성된 각 조별로 동일한 조에 소속된 국가들과 한 번씩, 각 국가별로 총 5번의 경기를 치른다. 조별리그가 끝난 후, 기자가 보내온 각 나라의 승, 무승부 www.acmicpc.net 🔸 문제 분석 🔸 월드컵에서 6개의 국가가 서로 1번씩 경기를 뛰고 나온 결과로 가능한지 불가능한지 판단한다. 4번의 경기 결과가 주어지는데, 한 나라의 승, 무, 패의 수로 입력된다. 가능한 결과이면 1, 불가능한 결과이면 0을 반환한다. 6개의 국가에서 경기를 뛰는 경우의 수는 6C2 = 6*5/2 = 15개 이다. 승/무/패 상관없이 총 15번의 경기가 가능하면, 올바른 경기 결과이다. 입력 제한이 0~6 이므로, 한 국가의 승무패의 합이 5가 되..
👉 문제링크 17281번: ⚾ ⚾는 9명으로 이루어진 두 팀이 공격과 수비를 번갈아 하는 게임이다. 하나의 이닝은 공격과 수비로 이루어져 있고, 총 N이닝 동안 게임을 진행해야 한다. 한 이닝에 3아웃이 발생하면 이닝이 종 www.acmicpc.net 🔸 문제 분석 🔸 n개의 이닝 별 타자의 성적을 입력받고, 나올 수 있는 최대 득점을 출력한다. 타자는 9명이며 4번 타자는 1번 선수로 고정되어 있다. 한 번 정해진 타순은 모든 이닝에 똑같이 적용된다. 한 이닝에서 사용한 타순을 다음 이닝에서 이어서 적용한다. 0은 아웃이고, 1~4는 안타, 2루타, 3루타, 홈런이다. 4번 타순을 제외하고, 8자리의 순서를 뽑는 순열을 구해 타순을 모두 비교한다. 각 타순 별 점수 결과를 계산하고 그 중 최대값을 출력..
👉 문제링크 14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, www.acmicpc.net 🔸 문제 분석 🔸 고정된 위치의 숫자와, 그 사이에 하나 씩 들어갈 수 있는 4종류의 연산자들의 개수가 주어진다. 계산으로 만들 수 있는 값의 최대값과 최소값을 출력한다. 연산자 자리를 바꾸면 값이 달라지기 때문에 순열로 풀이할 수 있다. 같은 종류의 연산자는 자리를 바꿔도 중복계산이기 때문에 dfs나 nextpermutation으로 중복을 제거할 수 있다. 🔸 순열 🔸 import java.io..
👉 문제링크 19621번: 회의실 배정 2 서준이는 아빠로부터 N개의 회의와 하나의 회의실을 선물로 받았다. 각 회의는 시작 시간, 끝나는 시간, 회의 인원이 주어지고 한 회의실에서 동시에 두 개 이상의 회의가 진행될 수 없다. 단, www.acmicpc.net 🔸 문제 분석 🔸 회의 시간에 진행할 수 있는 회의를 조절해, 회의에 참여한 인원의 최대값을 출력한다. 회의 별 최대 참여 인원을 DP에 저장하는 방식으로 풀이할 수 있다. 🔸 코드 🔸 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokeni..