본문 바로가기
반응형

구현81

BOJ 21611 : 마법사 상어와 블리자드 (삼성 SW TEST A형) A형 필수 알고리즘을 체계적으로 배우고 싶다면? (인프런 바로가기) 삼성 A형 전체 링크 www.acmicpc.net/workbook/view/1152 (A형 문제집) www.acmicpc.net/problem/21611  달팽이 배열을 만들고, 그 배열에 해당하는 index를 관리하면 해결할 수 있다. 아래는 변수에 대한 설명이다. MAP : 입력에 주어지는 2차원 배열snail : 달팽이 배열의 index 관리를 위한 2차원 배열indexArray : indexArray[i] = i로, 달팽이 배열의 index를 만들기 위한 배열indexValue : 달팽이 배열을 1차원 배열로 볼 때의 값을 저장한 배열icnt : indexValue 배열의 sizebombCount : 폭발한 1 ~ 3번 구슬의 개.. 2021. 5. 1.
BOJ 1913 : 달팽이 A형 필수 알고리즘을 체계적으로 배우고 싶다면? (인프런 바로가기) 알고리즘 문제 전체 링크 www.acmicpc.net/problem/1913  배열의 중심 좌표에서 달팽이 모양의 배열을 만들면 된다. 먼저 배열의 중심 좌표 (sr, sc)는 N / 2 + 1이 된다.문제의 예시 7인 경우 (4, 4) 부터 배열이 시작됨을 알 수 있다.sr = sc = N / 2 + 1; N = 5인 경우 규칙을 살펴보자.먼저 처음 1 → 2의 방향은 ↑ 방향이 된다.달팽이는 ↑, →, ↓, ← 로 방향을 반복해서 바꾼다.따라서, dr, dc는 아래와 같이 정의할 수 있다./* ↑, →, ↓, ← */int dr[] = { -1, 0, 1, 0 };int dc[] = { 0, 1, 0, -1 }; 방향이 두 번 바뀔 .. 2021. 4. 30.
SWEA 5644 : 무선 충전 (모의 SW 역량테스트) A형 필수 알고리즘을 체계적으로 배우고 싶다면? (인프런 바로가기) 삼성 A형 전체 링크 모의 SW 역량테스트 문제집 무선 충전 링크  MAP의 좌표를 BC로 나타내자.BC 구조체의 cnt는 MAP[r][c]에서 중복된 BC의 개수이고, bc배열은 BC의 번호가 된다.각 BC의 성능은 power배열에 저장한다.typedef struct st1{ int bc[10]; int cnt;}BC;BC MAP[MAX][MAX];int power[10]; 사용자 A, B의 좌표를 저장할 구조체 배열과 주어진 입력을 기록할 direction 배열을 만든다.typedef struct st2{ int r; int c;}RC;RC personA, personB;int directionA[100 + 20];int direct.. 2021. 4. 30.
BOJ 21610 : 마법사 상어와 비바라기 (삼성 SW TEST A형) A형 필수 알고리즘을 체계적으로 배우고 싶다면? (인프런 바로가기) 삼성 A형 전체 링크 www.acmicpc.net/workbook/view/1152 (A형 문제집) www.acmicpc.net/problem/21610  구름의 좌표를 저장할 RC 구조체가 필요하다.최초 구름 4칸을 입력하고, cloud count = ccnt를 4로 설정해두자.그리고 MAP의 좌표는 (1, 1)부터 받는다.#define MAX (50 + 5)int N, M;int MAP[MAX][MAX];typedef struct st{ int r; int c;}RC;RC cloud[MAX * MAX] = { 0 };int ccnt;void input(){ scanf("%d %d", &N, &M); for (int r = 1; r 방.. 2021. 4. 30.
BOJ 21609 : 상어 중학교 (삼성 SW TEST A형) A형 필수 알고리즘을 체계적으로 배우고 싶다면? (인프런 바로가기) 삼성 A형 전체 링크 www.acmicpc.net/workbook/view/1152 (A형 문제집) www.acmicpc.net/problem/21609  무지개 블록, 검은색 블록, 그리고 빈칸을 define하자.보통 배열의 빈칸은 0을 쓰지만, 여기에서는 무지개 블록이 존재하므로 -2로 define한다. 좌표를 저장하기 위한 RC 구조체와 블록 그룹의 우선순위를 결정할 BLOCK_INFO 구조체를 만든다. 그리고 MAP 주변을 검은색 블록으로 벽을 만들고, (1, 1)부터 입력을 받도록 하자.#define MAX (20 + 5)#define RAINBOW (0)#define BLACK (-1)#define EMPTY (-2)int N.. 2021. 4. 29.
BOJ 17471 : 게리맨더링 (A형 상시) SW 역량테스트 합격하기 A형 강의 오픈!! (인프런 바로가기) 삼성 A형 전체 링크 www.acmicpc.net/workbook/view/2771 (상시 A형 문제집) www.acmicpc.net/problem/17471 A형에서 그래프는 2차원 배열로 만들면 대부분 충분하다. 제시된 N이 매우 작기 때문이다.(N이 매우 큰 그래프는 링크드 리스트를 이용해 그래프를 만들어야 한다.) 만약 1번 구역과 2번 구역이 인접하다면, MAP[1][2] = MAP[2][1] = 1, 그렇지 않다면 0이 된다.people 배열에는 구역의 인구 수를 저장한다.#define MAX (10 + 5)int N;int MAP[MAX][MAX];int people[MAX];void input(){ scanf("%d", &N).. 2021. 4. 28.
BOJ 21608 : 상어 초등학교 (삼성 SW TEST A형) A형 필수 알고리즘을 체계적으로 배우고 싶다면? (인프런 바로가기) 삼성 A형 전체 링크 www.acmicpc.net/workbook/view/1152 (A형 문제집) www.acmicpc.net/problem/21608 시뮬레이션 문제는 그대로 구현하면 된다. 학생 구조체 PEOPLE은 학생의 번호와 좋아하는 사람을 저장해야 한다.학생은 N * N이므로 love 배열에 love[좋아하는 사람의 번호] = 1 로 표시하도록 하자.그리고 좌표 (r, c)를 저장할 배열 spot이 필요하다.#define MAX (20 + 5)typedef struct st1{ int index; int love[MAX * MAX];}PEOPLE;PEOPLE people[MAX * MAX];typedef struct st2{.. 2021. 4. 26.
SWEA 5648 : 원자 소멸 시뮬레이션 (모의 SW 역량테스트) SW 역량테스트 합격하기 A형 강의 오픈!! (인프런 바로가기) 삼성 A형 전체 링크 모의 SW 역량테스트 문제집 원자 소멸 시뮬레이션 링크  좌표가 -1000 ~ 1000으로 굉장히 넓기 때문에, MAP에는 atom을 표시만 하고,atom 배열을 이용해 atom을 이동한다.atom 구조체는 좌표 (r, c), 방향, 보유 에너지가 필요하다.typedef struct st{ int r; int c; int dir; int energy;}ATOM;ATOM atom[1000 + 100]; 좌표가 음의 값을 가지므로, OFFSET을 이용하여 양의 값으로 만들어야 배열에 담을 수 있다.이 때, 0.5초 구간 충돌을 구현하기 위해, 좌표를 2배로 늘린다.좌표를 2배로 늘렸으니 원자들은 항상 1초마다 충돌한다.가장.. 2021. 4. 26.
BOJ 17406 : 배열 돌리기 4 (A형 상시) A형 필수 알고리즘을 체계적으로 배우고 싶다면? (인프런 바로가기) 삼성 A형 전체 링크 www.acmicpc.net/workbook/view/2771 (상시 A형 문제집) www.acmicpc.net/problem/17406  MAP은 (1, 1)부터 input을 받고, COMMAND 구조체에 (r, s, c)를 저장한다.#define MAX (50 + 10)int N, M, K;int MAP[MAX][MAX];typedef struct st{ int r; int c; int s;}COMMAND;COMMAND command[10];void input(){ scanf("%d %d %d", &N, &M, &K); for (int r = 1; r 명령에 대한 순서를 임의로 정해서 배열 A의 최솟값을 구해야하.. 2021. 4. 24.
반응형