목록코딩 (163)
삐까냥의 파도타기
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..
문제 출처 : https://www.acmicpc.net/problem/2638 코딩 퀴즈만 너무해서 그런지, 힘들어요.머리도 안돌아가네요. 2018년 4월 11일 - 약간 다듬은 코드 (소요시간 43분) import java.util.Scanner; public class Q2638 { static int ySize, xSize;static int[][] map, mapClone;static boolean isContinue = true;static int[]moveY = {-1, 0, 1, 0},moveX = {0, 1, 0, -1};public static void main(String[] args) {Scanner sc = new Scanner(System.in);ySize = sc.nextInt..
문제 출처 : https://www.acmicpc.net/problem/1600 해당 문제를 푸는데 어려움이 있었습니다. 초기 코드를 1시간 정도 작성하고, 제출한 결과 정답이 중간정도 맞다가 틀렸습니다. 이후 30분 동안, 알고리즘을 생각했습니다. 아무리 생각해도, 알고리즘(로직)은 맞는데, 정답은 중간정도 맞다가 틀렸다고 나왔네요. 코드를 계속 수정하고, 수정하고 수정했는데도 틀렸습니다. 이 문제는 다음날(4월 11일) 문제를 다시 읽으며 해결할 수 있었어요. 다른 문제와는 다르게, 입력에서 map의 "가로길이"부터 주어지는것을 발견했습니다. 으.............................. 시험용 BFS공부 중이기 때문에, 클린 코딩보다는 하드 코딩 중인데, 덕분에 코드를 어느정도 다듬었네요..
문제 출처 : https://www.acmicpc.net/problem/1938 14503.로봇청소기와 13460.구슬탈출2 의 문제를 합한 느낌이네요. 이동시키지만, 세개의 나무가 이동해야 된다는 점에서 까다로웠어요. 올림피아드 고등부 2번 문제!!!.............. BFS로 풀었습니다. 대나무의 center 좌표와, 현재 가로, 세로상태, 카운트를 가지는 객체를 만들어줬고, 상, 하, 좌, 우, 회전이 가능할 경우(공간이 있을 경우) 해당 동작을 수행하도록 구현했어요. 처음에는 처음에는 대나무 세좌표를 모드 저장했지만, 객체 복사 문제로, 센터 좌표값만 저장하도록 했습니다. 불가능 할 경우에는 0이 나오도록 구현을 해야해요. 2018년 4월 10일 - 다듬지 않은 코드 (소요시간 : 1시간 ..
문제 출처 : https://www.acmicpc.net/problem/2468 무려 초등부 문제!! 힌트를 주자면, 모든 영역의 높이가 동일할 경우도 생각해야 하네요. 2018년 4월 10일 - 다듬지 않은 코드 (소요시간 38분) import java.util.Scanner; public class Q2468 { static int[][] map, newMap;static int size;static int result = 1;public static void main(String[] args) {Scanner sc = new Scanner(System.in);size = sc.nextInt();map = new int[size][size];int min = 0, max = 0;for (int i =..
문제 출처 : https://www.acmicpc.net/workbook/view/1152 기출문제라고 하는 백준 사이트의 13개 문제를 풀어 본 후기를 작성하겠습니다. 1. 문제 유형 1번 조건일때는 A작업을, 2번 조건일 때는 B작업을 여러번 수행하는 문제가 많았어요. 따라서 대부분의 문제를 DFS로 풀 수 있었습니다. (물론 다른 방법으로 풀수 있어요.) 다른 글을 보면 DP를 공부하라고 하네요. 하지만 DP는 일주일 동안 공부를 한다고 해도 늘지 않고(글을 작성하는 시기는 시험 일주일 전) DP문제는 없었어요. 확실히 DFS가 중요한 것 같아요. 2. 난이도 해당 링크의 상단 문제들은 문제 이해도가 쉬운 반면에 구현하기가 까다로웠어요. 하단 문제들은 문제 이해도가 어렵고, 그러다 보니, 조건에 맞..