알고리즘 문제풀기/SWEA (17) 썸네일형 리스트형 [소프트웨어 익스퍼트 아카데미][SWEA][모의 SW 역량테스트][ C++][5644번] 무선 충전 요번 문제는 bfs와 2중포문을 이용하여 해결하였습니다. 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 11.. [소프트웨어 익스퍼트 아카데미][SWEA][모의 SW 역량테스트][ C++][5656번] 벽돌 깨기 dfs를 이용해서 구슬이 떨어지는 위치를 조정하였습니다. 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 11.. [소프트웨어 익스퍼트 아카데미][SWEA][모의 SW 역량테스트][ C++][5653번] 줄기세포배양 이 문제는 문제를 이해하지 못해 고생을 했습니다. 문제를 풀때 문제를 잘 읽어야 한다는 것을 다시 한번 느낄수 있었습니다. 제가 똑바로 읽지 않은 부분은 초기 상태에서 줄기 세포들은 비활성 상태이며 생명력 수치가 X인 줄기 세포의 경우 X시간 동안 비활성 상태이고 X시간이 지나는 순간 활성 상태가 된다. 줄기 세포가 활성 상태가 되면 X시간 동안 살아있을 수 있으며 X시간이 지나면 세포는 죽게 된다. 이 부분으로 저는 번식된 줄기 세포는 비활성 상태이다 이것 때문에 번식된 줄기세포를 비활성상태가 아닌 죽은 상태로 계산하여 틀렸습니다. 문제의 접근방법은 bfs를 통해 풀었고 생명력은 10이하이고 제한시간은 300시간 이하이기 때문에 범위가 정해지지 않았지만 넉넉하게 700*700짜리 배열을 만들어 시작을 .. [소프트웨어 익스퍼트 아카데미][SWEA][모의 SW 역량테스트][ C++][4008번] 숫자 만들기 이 문제는 do while과 next_permutation을 통해 모든 경우를 고려하여 풀었습니다. 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 #include #include #include #include using namespace std; int N; int ans; int cal[5]; vector val_sort; vector val; deque max_mi.. [소프트웨어 익스퍼트 아카데미][SWEA][모의 SW 역량테스트][ C++][4012번] 요리사 dfs를 통해 풀 수 있던 문제 였습니다. 또한 문제를 잘 읽어 봐야 합니다. 문제의 설명에서는 N=4인경우만 있었지만 N이 8이나 10같은 4보다 큰 짝수일 경우 N/2만큼을 고르는 것이고 음식의 시너지는 예를들어 N=6이고 A음식에서 1,2,3번을 골랐다고 한다면 (1,2),(1,3)(2,3)을 모두 더하여 시너지를 구해야 합니다. 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.. [소프트웨어 익스퍼트 아카데미][SWEA][모의 SW 역량테스트][ C++][4013번] 특이한 자석 구현 문제였습니다. 저는 depue를 이용해서 앞에서 빼고 뒤에 넣고 뒤에서 빼고 앞에 넣는 방식으로 반시계방향 시계뱡향으로 돌아가는 것을 구현하였습니다. 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.. [소프트웨어 익스퍼트 아카데미][SWEA][모의 SW 역량테스트][ C++][1953번] 탈주범 검거 이 문제는 bfs를 통해 해결하였습니다. 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.. [소프트웨어 익스퍼트 아카데미][SWEA][모의 SW 역량테스트][ C++][1952번]수영장 DFS를 이용하여 풀 수 있는 문제였습니다. 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 #include #include #include using namespace std; int price[5]; //하루 한달 3달 1년 int year[13]; int ans; bool visited[13]; void dfs(int start,int temp_ans) { if (start > 12) { if (temp_ans > price[4]) { temp_ans = price[4]; } ans = min(an.. 이전 1 2 3 다음