Problem Solving/SWEA
-
[SWEA] #4014 _ 활주로 건설Problem Solving/SWEA 2019. 8. 28. 22:29
[활주로 건설] https://swexpertacademy.com/main/code/problem/problemDetail.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 제약 사항대로 코드를 구현하면 되는 시뮬레이션 문제이다. [ 소스 코드 ] #include #include #include #define MAX 21 using namespace std; int map[MAX][MAX], N, X; int solve(); int main() { int test_case; scanf("%d", &test_case); //input for (int i = 1; i map[i][j]) is_need = 1; ..
-
[SWEA] #2112 _ 보호 필름Problem Solving/SWEA 2019. 8. 28. 22:15
[보호 필름] https://swexpertacademy.com/main/code/problem/problemDetail.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com dfs를 이용하여 모든 경우의 수를 다 돌린 후, 성능 검사에 통과하는 최소 투입 수를 구한다. dfs를 돌리는 경우는 총 세가지로 생각할 수 있다. 1. 약품 주입 X 2. A 약품 주입 3. B 약품 주입 [ 소스 코드 ] #include #include #include using namespace std; int D, W, K, injCount; vector film; void solve(int count, int idx); int ..
-
[SWEA] #1210 _ Ladder1Problem Solving/SWEA 2019. 8. 28. 22:01
[Ladder1] https://swexpertacademy.com/main/code/problem/problemDetail.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 어쨋든 도착지는 한 군데이다. 따라서, 도착지부터 거꾸로 조건에 맞는 방법으로 올라가서 출발지를 찾으면 된다. [ 소스 코드 ] #include #include #define MAX 100 using namespace std; int dx[] = { -1, 1, 0 }, dy[] = { 0, 0, -1 }; int map[MAX + 1][MAX + 1]; int solve(int y, int x); int main() { int tes..
-
[SWEA] #1209 _ SumProblem Solving/SWEA 2019. 8. 12. 23:18
[Sum] https://swexpertacademy.com/main/code/problem/problemDetail.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 아주 쉬운 문제로 그냥 다 더해서 가장 큰 수를 찾으면 된다 :) [ 소스 코드 ] #include #include #define MAX 100 using namespace std; int arr[MAX + 1][MAX + 1] = { 0, }; int solve(); int main() { int case_num; for (int i = 0; i < 10; i++) { scanf("%d", &case_num); for (int j = 0; ..
-
[SWEA] #5656 _ 벽돌 깨기Problem Solving/SWEA 2019. 8. 4. 10:28
[벽돌 깨기] https://swexpertacademy.com/main/code/problem/problemDetail.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 벡터를 사용하여 벽돌을 세로가 아닌 가로로 저장하고, 가장 끝에 있는 값을 깨는 방법으로 구현하였다. (erase를 사용하여 가운데 값을 삭제해도 앞으로 땡기는 작업을 하지 않기 위해 벡터 사용) 하지만, 직관적으로 보기에는 배열을 이용하는게 좋은 것 같다..;; 깰 수 있는 모든 경우의 수를 다 돌려 가장 벽돌이 적게 남은 경우를 출력하였다. 모든 경우의 수를 하지 않는 방법을 생각하다가,,, 제한 시간이 3초인 것을 보고 모든 경우의 ..