본문 바로가기
반응형

브루트포스25

SWEA 2105 : 디저트 카페 (모의 SW 역량테스트) SW 역량테스트 합격하기 A형 강의 오픈!! (인프런 바로가기) 삼성 A형 전체 링크 모의 SW 역량테스트 문제집 디저트 카페 링크  MAP의 좌표는 (1, 1)부터 시작하도록 입력을 받는다.int T, N;int MAP[MAX][MAX];void input(){ scanf("%d", &N); for (int r = 1; r  움직일 수 있는 길은 오른쪽 아래부터 시작하여 시계 방향이므로, dr, dc를 잘 mapping 시킨다.반드시 시계 방향으로 정의해야 한다./* 순서대로 오른쪽 아래, 왼쪽 아래, 왼쪽 위, 오른쪽 위 */int dr[] = { 1, 1, -1, -1 };int dc[] = { 1, -1, -1, 1 }; 매 tc마다 dir = 0 (오른쪽 아래)부터 시계 방향으로 길을 잘 만들어.. 2021. 5. 17.
SWEA 2112 : 보호 필름 (모의 SW 역량테스트) A형 필수 알고리즘을 체계적으로 배우고 싶다면? (인프런 바로가기) 삼성 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  이렇게 해두고, list에는 약품을 투입하지 않을지, A를 투입할지, B를 투입할지를 DFS로 만들면 된다.따라서 성능검사를 통과하는지 check하는 함수는 아래처럼 만들 수 있다.l.. 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 역량테스트) SW 역량테스트 합격하기 A형 강의 오픈!! (인프런 바로가기) 삼성 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  K에 대한 운영 비용 주어진 공식대로 cost 배열에 저장한다.그리고 서비스 영역을 만들기 위해 AREA 배열에 해당하는 영역을 저장한다.row가 1에서 k가 될 때 까지는 column이 양 옆으로 늘어나고, k + 1부터는 줄어들게 만든다.int AREA[22][MAX * MAX][MAX.. 2021. 5. 11.
BOJ 17136 : 색종이 붙이기 (A형 상시) SW 역량테스트 합격하기 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  DFS로 완전 탐색을 하기 위해 아래의 3가지 함수를 만든다. checkPaper는 (r, c) 좌표에 대해 색종이를 붙일 수 있는지 판.. 2021. 4. 14.
삼성 A형 샘플 문제 : 프로세서 연결하기 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  tc가 여러 개이기 때문에 매 tc마다 input을 받고, 초기화를 해줘야 한다.이 문제에서는 최대 core에서 최소 전.. 2021. 4. 11.
BOJ 17070 : 파이프 옮기기 1 (A형 상시) SW 역량테스트 합격하기 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  (1, 1)과 (1, 2)에 항상 파이프가 가로로 시작하므로,MAP[1][1]과 MAP[1][2]에 .. 2021. 4. 8.
BOJ 16637 : 괄호 추가하기 (A형 상시) 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번 연산자에 괄호를 만.. 2021. 4. 5.
BOJ 17779 : 게리맨더링 2 (삼성 SW TEST A형) A형 필수 알고리즘을 체계적으로 배우고 싶다면? (인프런 바로가기) 삼성 A형 전체 링크 www.acmicpc.net/workbook/view/1152 (A형 문제집) www.acmicpc.net/problem/17779  (x, y) → (r, c)로 설명한다. (r, c)를 기준으로 마름모를 만드는 것이 핵심이다.(r, c)를 기준으로 d1과 d2를 늘려가면서 선거구를 만든다.이때, 범위를 체크하는 것보다 벽 = -1 을 만나면 종료하도록 구현하면 편하다. 따라서 input에서 A의 주변을 -1로 만들고 (1, 1)부터 입력을 받자.#define MAX (20 + 5)int N;int MAP[MAX][MAX];void input(){ scanf("%d", &N); for (int r = 0; r  모.. 2021. 3. 20.
반응형