본문 바로가기

Algorithm/Problem_SW31

모의 SW 역량테스트 (미생물 격리) * 알고리즘 시뮬레이션 * 로직 미생물들의 정보를 담는 클래스 객체 배열을 생성한다 존재하는 군집의 정보를 큐에 담는다 큐를 꺼내어 이동할 좌표를 구한다 이동할 구간에 아무런 군집정보가 존재하지 않는 상태에서 가장자리로 가는 경우 방향을 반대로 바꿔주고 (기존 미생물 수 / 2)로 갱신한다 범위 내로 이동하는 경우 그냥 이동시킨다 이동할 구간에 군집정보가 존재하는 상태라면 가장자리로 가는 경우 미생물 수 / 2를 누적해준다 범위 내로 이동한 경우 이미 존재하는 군집의 미생물 수가 더 많다면 -> 방향 유지, 값 누적 적다면 -> 방향 변경, 값 누적 map 전체를 돌면서 값이 존재하는 군집을 큐에 다시 담는다 이를 반복한다 //미생물 격리 import java.io.BufferedReader; impor.. 2020. 2. 17.
모의 SW 역량테스트 (숫자 만들기, 무선 충전) [숫자 만들기 - 5644] * 알고리즘 브루트포스 * 로직 연산자의 수만큼 나올 수 있는 모든 경우의 수를 구하면 된다 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; class Solution { static int N;//피연산자 카드 개수 static int[] operation;//연산자 (+,-,*,/) static int[] cards;//피연산자 static int max; static int min; public static void main(String args[]) throws Exception { Buffe.. 2020. 2. 4.
모의 SW 역량테스트 (보호 필름) [보호 필름 - 2112] * 알고리즘 브루트포스 * 로직 각 행마다 주입할 수 있는 모든 경우의 수를 구한다 약을 투여하지 않은 경우 A 약품을 투여한 경우 B 약품을 투여한 경우 구해진 각 경우의 수(조합)에 맞게끔 약품을 투여하고 검사를 진행한다 각 열마다 같은 문자가 연속으로 k만큼 존재하면 다음 열로 중간에 존재하지 않으면 false 검사에 통과하면 투여한 약품의 개수의 최솟값을 갱신한다 시간초과를 방지하기 위해 현재 가능한 약품의 값 < 투여한 약품의 개수 라면 return을 진행한다 //보호필름 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.S.. 2020. 2. 4.