Problem Solving/SWEA
-
[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에 계산하지 않는다. [ 소스..
-
[SWEA] #1949 _ 등산로 조성Problem Solving/SWEA 2019. 10. 26. 01:32
[등산로 조성] https://swexpertacademy.com/main/code/problem/problemDetail.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com top이라는 벡터에 제일 높은 봉우리의 좌표를 넣어둔다. top에 있는 좌표에서 시작하여 solve 함수에서 dfs를 이용하여 최대 길이를 구한다. 한 번 깎은 곳의 좌표는 cut 벡터에 저장하고, cut 벡터의 사이즈가 0일 경우에는 한 번도 깎지 않은 것으로 간주하여 깎아 갈 수 있는 최대 길이를 갱신하도록 구현하였다. [ 소스 코드 ] #include #include #include #define MAX 8 using namespa..