본문 바로가기
반응형

문제풀이81

[ 알고리즘 ] 코딩 SWEA 3234 - 준환이의 양팔저울.java SWEA 3234 - 준환이의 양팔저울 * 자바로 구현 * N개의 무게추를 저울에 올리는 방법은 N! * 왼쪽에 올릴 것인지 오른쪽에 올리 것인지를 선택하면 2^N * N! * 이때 저울의 오른쪽이 왼쪽보다 무거우면 안된다. * 저울에 무게추를 올릴 수 있는 모든 경우의 수 * static 변수 생성하면 메모리 초과 발생. * 아래 코드에 더해서 위의 조건중에 N!*2^N을 이용해서 모든 추를 오른쪽에 놓아도 무겁지 않은 경우에 한해서 미리 계산해놓은 N!과 2^N을 이용하면 속도가 훨씬 많이 향상된다. * 아래 코드에 더해서 메모이제이션 기법을 적용하면 속도가 훨씬 향상된다. public class SWEA_3234_Two_Arm_Scale { static int total; public static .. 2020. 9. 5.
[ 알고리즘 ] 코딩 SWEA 7793 - 오 나의 여신님.java SWEA 7793 - 오 나의 여신님 * 자바로 구현 * 악마는 악마의 손아귀라는 스킬을 사용한다. * 악마의손아귀 : 매 초마다 상하좌우 인접해있는 영역을 부식시키며 확장 * 단 지은이라는 여신이 있는 공간은 피해를 입지않는다. * 수연이는 여신이 있는곳까지 가야한다! * NxM크기, 돌이 있는 곳은 갈 수없고, 부식되지않음. * 수연이 이동 동서남북 여신에게 가는 최소시간 구하기 * 2 2020. 9. 5.
[ 알고리즘 ] 코딩 SWEA 7699번 - 수지의 수지맞는 여행.java SWEA 7699번 - 수지의 수지맞는 여행​​ * 자바로 구현 * 1행, 1열로 시작해서 R행, C열까지 있으며, 총 R*C 칸으로 이루어져 있다. * 섬의 각 칸에는 알파벳이 적혀있다. 이 알파벳은 섬의 명물이고, 같은 알파벳은 같은 명물 * 자신이 있는 지점의 명물을 본 후 4방향(상, 하, 좌, 우) 중 한 방향으로 1칸 이동 후 다음 명물을 보는 행동을 반복 * 같은 명물을 2번 이상 가지 않게 해서 갈 수 있는 최대 경우의 수 * DFS를 이용해서 구현하는 것이 빠르다. * 처음에 BFS로 구현하려고 했다가 수렁에 빠져서 포기했다.... *** BFS로 구현하는 것은 가중치가 없는 그래프에서 최단경로를 구할 때!!! 빠르고 정확하고 쉽게 구할 수 있다!!! * A~Z까지 26가지의 경우를 한 .. 2020. 9. 5.
[ 알고리즘 ] 코딩 정보 올림피아드 1681 - 해밀턴 순환 회로.java 정보 올림피아드 1681 - 해밀턴 순환회로 * 자바로 구현 * 회사에서 출발하여 물건을 모두 배달하고 * 다시 회사로 돌아오는 최단경로를 구하자! * 1 2020. 9. 5.
[ 알고리즘 ] 코딩 정보 올림피아드 1733 - 오목.java 정보 올림피아드 - 1733 - 오목 * 자바로 구현 * 19개의 가로줄, 19개의 세로줄 * 연속적으로 5개의 알이 놓이면 승리 * (가로, 세로, 대각선) * 6개이상의 알이 놓이면 이긴것이 아님. 무조건 5개 * 바둑판의 상태를 보고 검은색과 흰색의 승패 여부를 판단. * 누가 이겼는지 출력, 비긴것도 출력 * 검은돌 - 1, 흰돌 -2, 빈자리 - 0 * 출력시 가장 왼쪽돌의 위치를 출력 * 세로로 5개일 경우 가장 위쪽의 바둑돌의 위치를 출력 * 뭔가 깔끔하게 짜는 방법은 없었을까.... 너무 무지막지하게 짠 것 같아 부끄럽다.. class Baduk_doll { int y, x, type;// type 1 = 검은돌, 2 = 흰돌 public Baduk_doll(int y, int x, int.. 2020. 9. 5.
반응형