본문 바로가기
반응형

알고리즘287

[코드트리] 나무박멸 (삼성 SW 역량테스트 2022 상반기 오후 2번) 삼성 A형 전체 링크 Codetree 기출문제 링크 https://www.codetree.ai/training-field/frequent-problems/problems/tree-kill-all  MAP의 정보를 받기 위해 배열을 선언한다.#define MAX (20 + 5)#define WALL (-1)int T;int N, M, K, C;int MAP[MAX][MAX]; 제초제를 뿌릴 위치와 제초제를 뿌렸을 때 제거될 나무 개수의 정보는 구조체로 관리한다.typedef struct st{ int r; int c; int count;}INFO; 제초제가 있는 위치는 다른 배열로 관리한다.int WEEDING[MAX][MAX]; // 제초제 대각선 탐색을 위한 dr, dc 배열을 선언한다.// ↖, ↗,.. 2024. 6. 23.
[코드트리] 꼬리잡기놀이 (삼성 SW 역량테스트 2022 상반기 오후 1번) 삼성 A형 전체 링크 Codetree 기출문제 링크 https://www.codetree.ai/training-field/frequent-problems/problems/tail-catch-play MAP 정보는 다음과 같이 관리한다.value는 입력으로 주어지는 0 ~ 4의 값이고, order는 입력의 1 ~ 3으로 주어지는 사람들의 순서가 된다.roop는 꼬리잡기 루프를 식별하는 번호다.이렇게 값을 정하면 MAP[r][c]에 사람이 있는 경우 점수를 바로 계산하고, 몇 번째 roop인지 알 수 있다.그리고 BFS를 위해 visit을 선언한다.typedef struct st1{ int value; int order; int roop;}MAP_INFO;MAP_INFO MAP[MAX][MAX];int vi.. 2024. 6. 22.
[코드트리] 예술성 (삼성 SW 역량테스트 2022 상반기 오전 2번) 삼성 A형 전체 링크 Codetree 기출문제 링크 참고- BOJ 2667 : 단지번호붙이기- N x N 2차원 배열 뒤집기, 회전하기 https://www.codetree.ai/training-field/frequent-problems/problems/artistry 그룹을 나눈 후, 그룹을 이루는 숫자, 그룹에 속한 칸의 수, 그룹의 번호를 구분하기 하기 위한 구조체를 만든다.typedef struct st1{ int value; int count; int groupNumber;}GROUP; 그룹을 구분할 때, 2차원 좌표를 탐색하기 위한 구조체와 좌표 배열을 선언한다.typedef struct st2{ int r; int c;}RC;int dr[] = { 0, -1, 0, 1 };int dc[] .. 2024. 6. 10.
[코드트리] 술래잡기 (삼성 SW 역량테스트 2022 상반기 오전 1번) 삼성 A형 전체 링크 Codetree 기출문제 링크 참고- BOJ 1913 : 달팽이 https://www.codetree.ai/training-field/frequent-problems/problems/hide-and-seek 필요한 변수를 선언한다.도망자가 잡혔는지 확인하기 위해 dead 변수가 필요하지만, taggerInfo는 dead를 사용하지 않는다.tree는 좌표만 알면 충분하므로 2차원 int 배열로 저장한다.int N, M, H, K;typedef struct st2{ int r; int c; int dir; int dead;}PERSON;int tree[MAX][MAX];PERSON runner[MAX * MAX];int rcnt;PERSON taggerInfo[MAX * MAX * 2].. 2024. 6. 9.
[코드트리] Sam의 피자학교 (삼성 SW 역량테스트 2021 하반기 오후 2번) 삼성 A형 전체 링크 Codetree 기출문제 링크 https://www.codetree.ai/training-field/frequent-problems/problems/sam-pizza-school Sam의 피자학교 문제 풀이는 BOJ 23291 : 어항 정리와 같다.#include #define MAX (100 + 10)int T;int N, K;int pizza[MAX][MAX];/* 순서대로 오른쪽 : 1, 왼쪽 : 2, 위 : 3, 아래 : 4 */int dr[] = { 0, 0, 0, -1, 1 };int dc[] = { 0, 1, -1, 0, 0 };void input(){ scanf("%d %d", &N, &K); for (int i = 0; i N) break; for (int c =.. 2024. 6. 9.
[코드트리] 팩맨 (삼성 SW 역량테스트 2021 하반기 오후 1번) 삼성 A형 전체 링크 Codetree 기출문제 링크 https://www.codetree.ai/training-field/frequent-problems/problems/pacman 팩맨 문제 풀이는 BOJ 23290 : 마법사 상어와 복제와 비슷하지만, 방향의 정의가 다르다./* 0, ↑, ↖, ←, ↙, ↓, ↘, →, ↗ */int dr8[] = { 0, -1, -1, 0, 1, 1, 1, 0, -1 };int dc8[] = { 0, 0, -1, -1, -1, 0, 1, 1, 1 }; 주어진 방향이 반시계 방향이라서, 반시계 방향과 관련된 구현도 수정하였다. int m; for (m = 0; m   전체 코드는 다음과 같다.#include int T;int M, TURN;int BOUND[7][7].. 2024. 6. 9.
[코드트리] 냉방 시스템 (삼성 SW 역량테스트 2021 하반기 오전 2번) 삼성 A형 전체 링크 Codetree 기출문제 링크 https://www.codetree.ai/training-field/frequent-problems/problems/cooling-system 냉방 시스템 문제 풀이는 BOJ 23289 : 온풍기 안녕! 과 비슷하지만, 입력값, 격자의 크기, 벽 설치 위치, 방향의 정의가 다르다. 온풍기 안녕은 R x C 지만, 냉방 시스템은 N x N이므로, 입력값 처리를 다르게 해야 한다. 그리고 s가 1인 경우, 왼쪽에 벽을 설치한다. (온풍기 안녕은 오른쪽) for (int i = 0; i  방향의 정의가 다르기 때문에 코드를 수정하였다.#define LEFT (2)#define UP (3)#define RIGHT (4)#define DOWN (5)/* 순서대.. 2024. 6. 9.
[코드트리] 정육면체 한번 더 굴리기 (삼성 SW 역량테스트 2021 하반기 오전 1번) 삼성 A형 전체 링크 Codetree 기출문제 링크 https://www.codetree.ai/training-field/frequent-problems/problems/cube-rounding-again 정육면체 한번 더 굴리기 문제 풀이는 BOJ 23288 : 주사위 굴리기 2와 비슷하지만,입력과 초기 주사위 상태가 다르다. 이 문제는 N x N 격자판에서 주사위를 굴린다.그리고 주사위의 초기 상태에서 2와 5의 위치가 반대다. dice.up = 5; dice.left = 4; dice.top = 1; dice.right = 3; dice.down = 2; dice.buttom = 6; 전체 코드는 다음과 같다.#include #define MAX (20 + 5)#define EAST (1)#defi.. 2024. 6. 9.
[코드트리] 미로 타워 디펜스 (삼성 SW 역량테스트 2021 상반기 오후 2번) 삼성 A형 전체 링크 Codetree 기출문제 링크 https://www.codetree.ai/training-field/frequent-problems/problems/maze-tower-defense 미로 타워 디펜스 문제 풀이는 BOJ 21611 : 마법사 상어와 블리자드와 비슷하지만, 방향의 정의와 점수 산정 방식이 다르다. 이 문제에서 방향은 아래와 같이 정의한다./* →, ↓, ←, ↑ */int drr[] = { 0, 1, 0, -1 };int dcc[] = { 1, 0, -1, 0 }; 그리고 플레이어가 몬스터를 제거할 때, 점수를 추가해야 한다. for (int k = 1; k  전체 코드는 다음과 같다.#include #define MAX (50 + 5)int T;int N, M;int.. 2024. 6. 9.
반응형