SWEA
-
SWEA 2117 : [모의 SW 역량테스트] 홈 방범 서비스백준 문제풀이/GRAPH 2020. 6. 7. 00:03
문제 문제 풀어보기 풀이 테스트 케이스를 통과하기 위해 문제 꼼꼼히 읽자!!! 내일 삼성 코테보러갑니다. ㅈㅅ 주의할 점 1. 집이 1개 일수도 있다. 2. 최대 20 x 20 까지의 거리를 보자 3. 거리마다 bfs 하지 말고 한 번에 하고 계산하자. 코드 #include #include #include #include #include #include using namespace std; #define safe(x,y) x>=n || x maxSz) maxSz = dist[nx][ny]; q.push({ nx,ny }); } } // 각 거리마다 수익계산 int cnt = 0; for (int k = 1; k T; for (int i = 1; i < 50; i++) { pay[i] = (i * i) +..
-
SWEA 4013 : [모의 SW 역량테스트] 특이한 자석백준 문제풀이/etc 2020. 6. 6. 16:29
문제 문제 풀어보기 풀이 먼저 4개의 톱니바퀴를 어떤방향으로 돌릴것인지 배열에 결정해준다. 배열을 돌면서 톱니바퀴를 돌려준다. 한비트 쉬프트하며 정답에 더해준다. 코드 #include #include #include #include #include using namespace std; //#define safe(x,y) x>=n || x v(4, vector(8, 0)); // 회전방향 결정 void go(vector& dir, int index) { int tmp = index; // 왼쪽 톱니바퀴 while (tmp--) { if (v[tmp][2] != v[tmp + 1][6]) { dir[tmp] = -dir[tmp + 1]; } else break; } tmp = index; // 오른쪽 톱니바..
-
SWEA 1953 : [모의 SW 역량테스트] 탈주범 검거백준 문제풀이/GRAPH 2020. 5. 29. 19:27
문제 문제 풀어보기 풀이 비트 마스크를 통해 길이 이어져있는지만 확인하면서 BFS를 하면 풀 수 있는 간단한 문제입니다. 그 간단한 문제를 저는 엄청 실수를 많이 했네요. 비트 마스크 할 때 항상 하는 실수인데 이진수랑 십진수를 자꾸 바꿔 쓰는 게 문제네요... 여러분들은 꼭 이진수 1000을 십진수 8이라고 쓰시기 바랍니다. 코드 #include #include #include #include using namespace std; #define safe(x,y) x>=n || x= 1) continue; int reverse; if (k % 2 == 0) reverse = k + 1; else reverse = k - 1; if ((arr[x][y] & (8 >> k)) && (arr[nx][ny] &..
-
SWEA 1244 : [S/W 문제해결 응용] 2일차 - 최대 상금백준 문제풀이/BRUTE FORCE 2020. 5. 20. 15:29
문제 문제 풀어보기 풀이 재귀를 돌면서 모든 경우를 탐색하는 것은 굉장히 기본적인 완전 탐색 방법입니다. 하지만 이상하게 교환횟수가 7개 정도만 넘어가면 계속해서 시간초과가 뜨더군요. 생각해봅시다. 주어지는 수는 최대 6자리의 숫자입니다. 여기서 두개의 인수를 교환해서 원하는 숫자를 얻기 위해서는 최대 몇번의 교환이 필요할까요? 카드게임을 예를 들어 봅시다. 도둑잡기, 원카드, 훌라 어떤 게임이든 상관없이 손에 6장의 카드가 있습니다. 우리는 이 카드를 정리하기 위해 한 카드 씩 원하는 위치에 가져다 놓습니다. 이 과정은 두 개의 위치를 교한 하는 것과 크게 다르지 않습니다. 그리고 우리는 정확히 카드의 개수만큼 교환할 수 있다면 어떤 순서의 배열이든 만들 수 있습니다. 그렇기 때문에 이 문제에서도 재귀..
-
SWEA 4168 : 삼성이의 쇼핑 ( 비트마스크 + 조합 연습 )백준 문제풀이/Dynamic Programming 2020. 5. 20. 14:00
문제 문제 풀어보기 (로그인 후 접속 가능) 풀이 냅색 문제에서 비트 마스크를 사용하여 선택한 물건들을 출력할 수 있도록 하였습니다. 냅색 알고리즘은 배낭문제에서 나온 기법인데 생각보다 자주 나오는 유형입니다. 최대의 만족도를 구하는 방법은 냅색을 이용해서 구하게 됩니다. 그리고 만족도를 인덱스로 하는 배열에 비트 마스크를 저장합니다. 출력 과정에서 정답이 되는 만족도에 있는 비트 마스크를 통해 어떤 옷을 선택했는지 출력합니다. 코드 #include #include #include #include using namespace std; int max(int a, int b) { if (a > b) return a; else return b; } int T; int ans; int n, m; int v[26..