본문 바로가기
반응형

브루트포스17

SWEA 1949 : 등산로 조성 (모의 SW 역량테스트) 삼성 A형 전체 링크 모의 SW 역량테스트 문제집 등산로 조성 링크 좌표를 저장하기 위한 RC 구조체를 선언한다. MAP의 주변을 벽(-1)으로 만들고 (1, 1)부터 입력을 받는다. 입력을 받으면서 가장 높은 봉우리를 찾는다. 그리고 다시 MAP을 돌면서 가장 높은 봉우리를 start 배열에 담는다. #define MAX (10 + 5) int T, N, K; int MAP[MAX][MAX]; int visit[MAX][MAX]; typedef struct st { int r; int c; }RC; RC start[MAX * MAX]; int scnt; void input() { int max; scanf("%d %d", &N, &K); for (int r = 0; r 2021. 5. 23.
SWEA 2105 : 디저트 카페 (모의 SW 역량테스트) 삼성 A형 전체 링크 모의 SW 역량테스트 문제집 디저트 카페 링크 MAP의 좌표는 (1, 1)부터 시작하도록 입력을 받는다. int T, N; int MAP[MAX][MAX]; void input() { scanf("%d", &N); for (int r = 1; r 2021. 5. 17.
SWEA 2112 : 보호 필름 (모의 SW 역량테스트) 삼성 A형 전체 링크 모의 SW 역량테스트 문제집 보호 필름 문제에서 요구한 대로 약품을 투입한다. 이 때, DFS에서 매번 MAP을 copy하는 비용을 낮추기 위해 약간의 테크닉을 사용할 수 있다. 특성 A가 0, B가 1이므로, MAP[1]에는 0을, MAP[2]에는 1을 저장해둔다. int MAP[3][MAX][MAX]; int list[MAX]; void input() { scanf("%d %d %d", &D, &W, &K); for (int r = 1; r 2021. 5. 14.
BOJ 2503 : 숫자 야구 알고리즘 문제 전체 링크 www.acmicpc.net/problem/2503 숫자 야구의 원리는 삼성 B형 샘플 문제 : 숫자야구게임을 참고하자. 이 문제에서는 답이 되는 answerList 배열에서 답이 될 수 없는 숫자를 지워나가는 방식으로 해결한다. 먼저 답의 후보는 100 ~ 999 중, 0이 없고, 중복된 숫자가 없는 번호이다. 따라서 숫자에 0이 포함된 경우와 중복된 번호가 있는 경우에 answerList에 1(삭제)을 표시한다. int main(void) { scanf("%d", &N); int answerList[1000 + 5] = { 0 }; for (int n = 100; n 2021. 5. 13.
SWEA 2117 : 홈 방범 서비스 (모의 SW 역량테스트) 삼성 A형 전체 링크 모의 SW 역량테스트 문제집 홈 방범 서비스 링크 가능한 큰 K부터 이익이 있는 한, 가장 큰 집의 수를 찾으면 된다. N x N의 MAP을 모두 서비스하기 위한 K는 N + 1이므로, K = N + 1의 영역부터 영역을 줄여나간다. void input() { scanf("%d %d", &N, &M); for (int r = 1; r 2021. 5. 11.
BOJ 17136 : 색종이 붙이기 (A형 상시) 삼성 A형 전체 링크 www.acmicpc.net/workbook/view/2771 (상시 A형 문제집) www.acmicpc.net/problem/17136 input에서 색종이 상태를 입력받고, 색종이의 개수 PAPER_COUNT에 저장해둔다. 그리고 각 색종이의 최대 개수인 5를 MAX_PAPER[1~5]에 저장한다. #define MAX (10 + 10) int MAP[MAX][MAX]; int PAPER_COUNT; int MAX_PAPER[10]; void input() { for (int r = 0; r < 10; r++) { for (int c = 0; c < 10; c++) { scanf("%d", &MAP[r][c]); PAPER_COUNT += MAP[r][c]; } } for (in.. 2021. 4. 14.
삼성 A형 샘플 문제 : 프로세서 연결하기 삼성 A형 전체 링크 swexpertacademy.com/main/sst/intro.do SW Expert Academy에서 A형 샘플 문제 프로세서 연결하기를 풀어보자. 좌표는 (1, 1)부터 받고, 주변을 MAP[r][c] = 2(벽)으로 처리해서 경계 조건을 쉽게 처리하도록 하자. (core = 1, 벽 = 2, 전선 = 3 으로 정의한다.) #define MAX (10 + 5) int T, N; int MAP[MAX][MAX]; void input() { scanf("%d", &N); for (int r = 0; r 2021. 4. 11.
BOJ 17070 : 파이프 옮기기 1 (A형 상시) 삼성 A형 전체 링크 www.acmicpc.net/workbook/view/2771 (상시 A형 문제집) www.acmicpc.net/problem/17070 파이프는 오른쪽, 아래, 대각선으로만 진행하므로 방향을 3개 define한다. input에서는 MAP 주변에 벽을 세운다. #define MAX (16 + 5) #define RIGHT (0) #define DOWN (1) #define RIGHT_DOWN (2) int N; int MAP[MAX][MAX]; void input() { scanf("%d", &N); for (int r = 0; r 2021. 4. 8.
BOJ 16637 : 괄호 추가하기 (A형 상시) 삼성 A형 전체 링크 www.acmicpc.net/workbook/view/2771 (상시 A형 문제집) www.acmicpc.net/problem/16637 첫 번째 예시를 보자. 연산자는 + * - * 로 총 4개이다. 순서대로 1, 2, 3, 4번째 연산자로 정의하자. 먼저 괄호 안에는 연산자가 하나만 들어있어야 하므로, 1번 연산자에 괄호를 만들면, 2번 연산자는 괄호가 불가능하다. → (3 + 8) * 7 - 9 * 2 따라서 DFS로 아래의 경우의 수가 되도록 만든다. 0 0 0 0 → 괄호가 없는 경우 0 0 0 1 → 4번 연산자에만 괄호를 만든 경우 0 0 1 0 0 1 0 0 0 1 0 1 → 2번, 4번 연산자에 괄호를 만든 경우 1 0 0 0 1 0 0 1 1 0 1 0 1 2 3 .. 2021. 4. 5.
반응형