본문 바로가기

Study Algorithm

(13)
백준_16235_나무재테크 문제 설명대로 봄=>여름=>가을=>겨울 순서로 풀어가면 어렵지 않은 문제이다. 그러나, 시간초과가 이 문제에 걸림돌이 되었는데, ArrayList를 사용하고 remove 메소드를 사용함으로써 발생한 문제였다. 이를 해결하기위해, ArrayList대신 LinkedList를 사용하였다. 왜냐하면, ArrayList는 검색을 할 때 유용하고 LinkedList는 데이터의 삽입,삭제의 유용하기 때문이다. 해당 문제는 검색보다는 데이터의 삽입과 삭제가 많이 일어나므로 이를 고쳐주었더니, 문제를 해결할 수 있었다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41..
백준_17144_미세먼지안녕! 소요시간 : 약 2시간 30분 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 1..
백준_15686_치킨배달 소요시간 : 약 1시간 30분 필요 스킬 : 조합 수정 전 코드는 매우 안좋은 코드이다... 속도도 매우매우 느리고 메모리도 너무 많이 잡아먹었다. 보는 것과 같이 수정 전 코드는 2956ms 이라는 매우 꼬진? 코드이다. 수정 후 코드는 148ms로 거의 1/20로 줄였다. package net.acmicpc; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.StringTokenizer; public class boj_15686_치킨배달 { static int N, M, ans, tot; static int..
백준_16236_아기상어 [로직 설명] 1. 먹을 것이 있는지 체크해준다. 있다면 True 없다면 False반환 (checkEat 메소드) 1-1. 먹을 것이 없다면, 지금까지의 시간을 출력하고 끝낸다. 1-2. 있다면, 2번으로 2. bfs를 통해 거리 탐색을 한다. 이 때, 아기상어의 크기와 같거나 작아야지만 지나칠 수 있다는 조건을 걸어준다. 3. 거리탐색은 크기나 작거나 같아도 지나갈 수 있지만, 먹을 수있는 것은 크기가 작아야만 한다. 따라서, 아기 상어보다 크기가 작은 것들을 찾고 그 중에서 가장 가까운 거리를 minTime 변수에 저장해준다. 4. 가장 가까운 거리들의 먹이가 여러개 있을 수 있으므로, minTime과 같은 거리의 좌표들을 찾아 ArrayList에 담아준다. (이 때, 먹이의 크기가 0이거나 아기상어..
백준_14503_로봇청소기 삼성 SW 역량테스트 기출문제 로봇청소기입니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120..