-
[SWEA] #2117 _ 홈 방범 서비스Problem Solving/SWEA 2019. 10. 29. 17:50
[홈 방범 서비스] https://swexpertacademy.com/main/code/problem/problemDetail.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com bfs를 이용하여 마름모를 구하였고, 마름모가 커질 때마다 집의 개수를 갱신해주었다. 좌표의 모든 지점을 서비스의 시작 좌표로 모든 경우의 수를 고려하여 가장 많은 집을 구하였다. 주의할 점은 손해를 보지 않고 서비스 가능한 최대 집의 수를 구하는 것이기 때문에, 이익이 0이라도 손해를 보지 않는 것이므로 이때 집의 수도 고려해주어야 한다. [ 소스 코드 ] #include #include #include #include #defin..
-
[SWEA] #2115 _ 벌꿀채취Problem Solving/SWEA 2019. 10. 29. 17:06
[벌꿀채취] https://swexpertacademy.com/main/code/problem/problemDetail.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 총 최대 이익은 일꾼1과 일꾼2의 각각의 최대 이익의 합이다. 따라서, max1에는 일꾼 1의 최대 값, max2는 일꾼 2의 최대 값을 저장하였다. 최대 3개의 벌통을 채취할 수 있다고 가정할 때, 각 벌통은 1. 채취하는 경우와 2. 채취 하지 않는 경우 두 가지를 고려할 수 있다. chk배열을 이용하여 두 가지 경우를 고려하여 최대 이익을 구해주었다. 해당 문제는 dfs를 이용하여 쉽게 구현하였다. [ 소스 코드 ] #include #..
-
[SWEA] #2105 _ 디저트 카페Problem Solving/SWEA 2019. 10. 29. 16:40
[디저트 카페] https://swexpertacademy.com/main/code/problem/problemDetail.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com start[2]에 시작점의 좌표를 저장해주었고, dessert 배열을 이용하여 먹은 디저트를 체크해주었다. (디저트의 종류는 1부터 시작한다는 점에 유의하자!) 또한, dfs를 이용하여 모든 경우의 수를 고려하여 구현하였다. [ 소스 코드 ] #include #include #include #define MAX 20 using namespace std; int dx[] = { 1, -1, -1, 1 }, dy[] = { 1, 1, -1,..
-
[SWEA] #1953 _ 탈주범 검거Problem Solving/SWEA 2019. 10. 29. 16:29
[탈주범 검거] https://swexpertacademy.com/main/code/problem/problemDetail.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com bfs를 이용하여 지하 터널의 시간 별 갈 수 있는 곳을 모두 구해준 후, 해당 시간 내에 갈 수 있는 곳의 개수를 세는 방법으로 구현하였다. 이때, 1번 터널 구조물 오른쪽에 2번 터널 구조물이 있는 경우에는 갈 수 없다. 이와 같이 현재 위치에서는 갈 수 있더라도, 갈 위치의 구조물의 형태를 파악해 갈 수 있는지 없는지 고려해야 한다. [ 소스 코드 ] #include #include #include #define MAX 50 usi..
-
[SWEA] #1952 _ 수영장Problem Solving/SWEA 2019. 10. 29. 16:14
[수영장] https://swexpertacademy.com/main/code/problem/problemDetail.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 우선, use_month 벡터에 수영장을 이용하는 달을 저장해준다. 처음 min_val의 값은 1년치 이용 금액으로 초기화 시켜주고, dfs를 이용하여 이용하는 달의 가능한 경우(일, 월, 3개월)를 모두 계산하였다. 3달 금액을 계산할 때는, 예를 들어 1, 3, 5, 6, 7을 이용한다고 가정하면 모든 경우의 수를 고려하여 계산할 때, 3월에 3개월 이용 금액을 지출하는 경우 5월의 경우의 수는 무시하여 pay에 계산하지 않는다. [ 소스..