목록코딩 (163)
삐까냥의 파도타기
문제 출처 : https://www.acmicpc.net/problem/14502 이 문제를 처음 본 순간 막막했어요. 그런데, DFS라는 것을 알게 된 순간 쭉쭉 풀어나갔습니다. 오랜만에 플러딩 알고리즘도 사용하기도 했어요. 그런데 포문이 너무 많이 돌아간다는 문제가 있어서, 과연 이 방법이 맞나?라는 의구심을 가지고 코딩을 계속 해보니, 정답이 나오네요;;;; 최대 사이즈가 8이라서 가능한걸로 추측해요. 다차원 배열은 .clone()이 먹히지 않는것을 방금 알았어요;;;;;;;;;;;;; 여태 다차원에서 .clone()를 사용했는데;;;;;;;;;; 2018년 4월 9일 - 다듬지 않은 코드 (소요시간 48분) import java.util.Scanner; public class Q14502 { st..
문제 출처 : https://www.acmicpc.net/problem/13460 정답률이 22.63퍼인 이유를 알겠네요. 이 문제를 풀때, 구슬 도착 확인 방법을 입구 근처의 모든 블록들을 파악하는 방식으로 구현했습니다. 해당 방식은 소개된 테스트 케이스를 모두 통과하지만 예외 케이스가 있기 때문에 틀렸다고 나옵니다. 아래 케이스에서 결과가 1로 나오지만 실제 정답값은 2입니다.(입구로 가지 않았지만, 입구 근처에 있기 때문에) # # # ## R # ## . O ## # # # 따라서 현재 움직이는 방향에 따라 도착 구슬을 체크하게 구현했어요. 구슬 움직이기 구현은 12100.2048(EASY) 문제가 많은 도움 됐네요. 12100.2048(EASY) 선행학습을 안했다면 못풀거나, 소요시간이 2시간을..
문제 출처 : https://www.acmicpc.net/problem/12100 이번 문제는 테스트케이스가 적어서,문제 발견하기가 굉장히 어려웠어요.포기하려는 순간에 를 1회만 테스트로 돌리니, 해당 문제를 발견할 수 있었어요. 문제를 해결하기 전에 어느정도까지 생각했냐면비동기인 LinkedList로 구현을 해서 틀리는건가? 까지 생각했어요. 그래서 해당 코드는 어레이리스트로 구현했네요. 문제가 무엇이었냐면 moveBlock에서맵의 값을 queue에 삽입할때0의 값도 추가해서 제대로 된 덧셈 연산이 수행되지 못했습니다.따라서 0이 아닌 값만 추가하여 해당 문제를 해결했어요. 2018년 4월 8일 - 다듬지 않은 시험 코드 (소요시간 1시간 50분) import java.util.ArrayList;imp..
문제 출처 : https://www.acmicpc.net/problem/13458 이거 문제가 왜이리 쉽죠? 2018년 4월 8일 - 다듬지 않은 시험 코드 (소요시간 : 10분)import java.util.Scanner; public class Q13458 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int classNum = sc.nextInt();int[] classes = new int[classNum];for (int i = 0; i < classNum; i++) {classes[i] = sc.nextInt();}int first = sc.nextInt();int second = sc.nextInt()..
문제 출처 : https://www.acmicpc.net/problem/14500 이거는 그냥 노가다 문제같아요.누가 잘 참고 풀수 있느냐.그룹지어서 계산했습니다. 그룹 목록 (세로 * 가로)그룹 1 : 1*4그룹 2 : 4*1그룹 3 : 2*2그룹 4 : 3*2그룹 5 : 2*3 2018년 4월 8일 - 다듬지 않은 코드 (소요시간 44분) package samsung; import java.util.Scanner; public class Q14500 {static int[][] map;static int mapY, mapX;static long result = 0;public static void main(String[] args) {Scanner sc = new Scanner(System.in);m..
문제 출처 : https://www.acmicpc.net/problem/14499 엄청 쉬운 문제라 생각했는데, 계속 틀렸어요. 문제가 무엇이냐면, 입력을 받을때,주사위의 좌표를 X, Y로 받는다고 써있지만,실제로는 Y, X 순서로 받아옵니다. 여기에서만 10분 까먹은거 같아요.주어지는 예제에서는 Y=X이기 때문에정상 작동 하지만,테스트 예제에서는 Y != X인 경우가 있어서바로 틀렸다고 뜨네요. 2018년 4월 8일 - 다듬지 않은 시험 코드 (소요시간 45분) import java.util.Scanner; public class Q14499 { static Dice dice;static int[][] map;static int nowX, nowY;public static void main(String..
문제 출처 : https://www.acmicpc.net/problem/14501 생각한 의도대로 작동하지는 않았지만, 시험 결과를 위한 코드처음 의도 -> 일주일의 봉급 계산이 끝나고 나서 결과값을 비교 한 후 max 정하기.코드 -> 하루하루 계산할 때 마다 결과값을 비교하여 max 정하기. 2018년 4월 7일 - 다듬지 않은 코드 (소요시간 : 29분) import java.util.Scanner; public class Q14501 { static int result = 0, finalDay;static int[][] schedules;public static void main(String[] args) {Scanner sc = new Scanner(System.in);finalDay = sc...
문제 출처 : https://www.acmicpc.net/problem/14891 자잘한 실수 발생;이상하게 자바가 버벅거리고 넘나 느려서 미치겄네요. 2018년 4월 7일 - 다듬지 않은 코드 (소요시간 1시간 8분) public class Q14891 { static int[][] gear = new int[4][8];public static void main(String[] args) {Scanner sc = new Scanner(System.in);for (int i = 0; i < 4; i++) {String temp = sc.nextLine();int[] tempGear = new int[8];for (int j = 0; j < 8; j++) {char tempChar = temp.charAt..
문제 출처 : https://www.acmicpc.net/problem/14888 DFS죠?? 2018년 4월 6일 - 다듬지 않은 시험용 코드 (소요시간 : 29분) public class Q14888 {static int max = 0, min = 0;static int maxCount;static int[] operator, values;static boolean isFirst = true;public static void main(String[] args) {Scanner sc = new Scanner(System.in);int size = sc.nextInt();values = new int[size];for (int i = 0; i < size; i++) {values[i] = sc.nextI..
문제 출처 : https://www.acmicpc.net/problem/14503 굉장히 쉬울것이라 생각했는데, 시간 좀 걸렸습니다.어려운 부분 : 명시된 로봇청소기 알고리즘 제대로 이해하기. 2018년 4월 6일 - 다듬지 않은 시험 코드 (소요시간 : 1시간 32분) package samsung; import java.util.Scanner; public class Q14503 { public static void main(String[] args) {Scanner sc = new Scanner(System.in);int ySize = sc.nextInt();int xSize = sc.nextInt();int[][] map = new int[ySize][xSize];int nowY = sc.nextI..