목록Academy (43)
삐까냥의 파도타기
문제 출처 : https://www.acmicpc.net/problem/15684 음.... 맨 첨에는 DP문제로 생각해서 예제를 통해서 규칙을 찾아봤어요. 규칙이 있긴 한데, 이를 구현하기는 어렵다 생각해서 DFS 방식으로 풀었어요. 어느정도 제한 조건이 있어서, 시간 초과에는 걸리지 않았네요. 사다리 삽입 가능한 부분과 삽입한 부분, 삽입 불가능한 부분을 구분하는 것이 핵심인것 같네요. 삽입 불가능한 부분 덕분에 더 효율적으로 코드를 구현할 수 있었어요. 삽입 불가능한 부분은 사다리가 놓여져있는 공간의 좌우 공간입니다. 사다리를 추가할 때마다 좌우에 추가하지 못하게끔 세팅해야해요. 그리고 i번째의 결과가 i번인지 확인하는 작업은 사다리 개수가 짝수개일때만 해야합니다. DP방식으로 풀기위해 규칙을 찾아..
문제 출처 : https://www.acmicpc.net/problem/15683 음... 뭐랄까... 제가 짠 코드의 함정을 찾는게 좀 어려웠어요. 변수명도 너무 헷갈려서 좀 어려웠네요. 2018년 5월 19일 - 다듬지 않은 코드 (소요시간 : 1시간 50분) import java.util.ArrayList;import java.util.LinkedList;import java.util.Scanner; public class Q15683 { static ArrayList cctvList = new ArrayList();static int min = 0, y, x;public static void main(String[] args) {Scanner sc = new Scanner(System.in);y ..
1952. [모의 SW 역량테스트] 수영장 https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PpFQaAQMDFAUq dfs없이 풀수 있게다 싶어서, 하드 코딩을 했는데, 결국 dfs로 풀었네요. dfs로 풀때, where == 11인 경우를 생각하지 않아서, 라이브 코딩하며 코드만 정리했네요, 하나하나씩 찍어보며, 디버깅을 했고, 문제를 풀었습니다. 여러분 자신의 생각이 맞다고 판단했지만, 답이 틀렸을 때 로그나, 현재 상황을 찍어보세요. (사실 코딩 테스트를 준비하며 로그나 출력을 계속 찍어보긴 했는데, 오늘은 귀차니즘으로 찍어보기 싫었어요.) 이렇게 코딩테스트용 디버깅 레벨이 상승했습니다. (로그 찍..
1953. 탈주범 검거 https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PpLlKAQ4DFAUq DFS입니다. 가장 핵심은 이미 검사한(방문한) 길을 검사하지 않는 것입니다. 하지만 시간이라는 개념이 있기 때문에, 무조건 검사(방문)를 했다고 해서, 검사를 안하면 안됩니다. 새로운 맵을 만들어서, 해당 길(블록)을 검사한 시간을 적어두고, 현재 검사하려는 시간보다 더 짧은 시간이 블록에 기록되어있으면 검사할 필요가 없고, 현재 시간보다 더 오래된 시간이 블록에 기록되어 있으면 검사를 해야합니다. 짧은 시간일 수록 앞으로 검사할 블록이 많아지기 때문이죠. 2018년 4월 15일 - 다듬지 않은 코드 (소요..
2115. 벌꿀채취 https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5V4A46AdIDFAWu 이게 55프로의 정답률. 이것저것 섞여있어서 문제를 보자마자 머리아팠어요. 2018년 4월 14일 - 다듬지 않은 코드 (소요시간 45분) import java.util.Scanner; public class Q2115 { static int mapSize, size, maxValue, maxResult;static int[][] map;public static void main(String[] args) {Scanner sc = new Scanner(System.in);int testCase = sc.nextI..
2383. 점심 식사시간 https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5-BEE6AK0DFAVl&categoryId=AV5-BEE6AK0DFAVl&categoryType=CODE 하루종일 문제만 풀다보니, 너무나 풀기 싫었던 문제입니다. 근데 생각보다 어려웠다고 해야하나...? 근데 정답률은 47퍼. 정말 정말 풀기 싫어서 코드도 원래 스타일대로 안짰어요. 제가 봐도 개판 코드 입니다. 이 문제 만큼은 다른 사이트에서 보세요;; 2018년 4월 13일 - 다듬지 않은 코드 import java.util.LinkedList;import java.util.Queue;import java.util.Scann..
2382. 미생물 격리 https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV597vbqAH0DFAVl 어떤 식으로 구현할까 생각하다가 아래와 같은 로직으로 구현했습니다. 1시간 동안 1. 맵을 만든다. 2. 군집을 다음 위치로 이동하고 이동한 위치에 +1; 3. 맵을 처음부터 끝까지 검사하면서 값이 2이상일 경우 (군집이 합쳐질 경우) 해당 위치의 군집을 병합 근데, 군집 병합 과정을 복잡하게 구현해놔서, 디버깅 좀 했어요;; 1. 병합할 군집을 모두 찾아서 미생물의 최대값을 가진 군집을 계산합니다. 2. 해당 군집에 다른 군집의 미생물 수를 더해줍니다. 3. 다른 군집은 0으로 체크하면서 죽여줍니다. (살았..
2117. 홈 방범 서비스 문제 출처 : https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5V61LqAf8DFAWu 43프로 정답률이네요. 근데 저는 왜케 어려웠죠??????? 마름모를 한번도 안해봐서, 마름모 코딩이 어려웠어요. 2018년 4월 13일 - 다듬지 않은 코드 (소요시간 : 59분) import java.util.Scanner; public class Q2117 { static int mapSize, cost, count, max;static int[][] map;static int[] minCost = new int[21];public static void main(String[] args..
1949. 등산로 조성 문제 출처 : https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PoOKKAPIDFAUq DFS로 풀었어요. 문제는 어려워 보였는데, 막상 푸니깐 넘나 쉬었쥬? 역시나 문제 이해하는게 제일 중요합니다. 문제가 어려워 보인다 -> 조건이 많다(복잡하다) -> 문제 리딩 꼼꼼하게! 2018년 4월 12일 - 다듬지 않은 코드 (소요시간 39분) package sw; import java.util.Scanner; public class Q1949 { static int mapSize, k, maxValue, result;static int[][] map;static boolean[][] ..
문제 출처 : https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV4suNtaXFEDFAUf 아놔................ resultCpuNum = canCpuNum; 이 한줄을 추가하지 않아, 디버깅 시간 엄청 잡아먹었네요. 다행인건, 생각한 알고리즘의 문제는 아니었네요. 50개의 테스트 케이스 중에서 49개만 맞다고 나오길래, 예외 테스트 케이스만 생각하다보니,..... 왜케 실수를 하지;;;;;;;;;;; 2018년 4월 12일 - 다듬지 않은 코드 (소요시간 1시간 13분) import java.util.Scanner; public class Q1767 { static int mapSize, cp..