본문 바로가기
반응형

구현81

BOJ 23291 : 어항 정리 (삼성 SW TEST A형) A형 필수 알고리즘을 체계적으로 배우고 싶다면? (인프런 바로가기) 삼성 A형 전체 링크 www.acmicpc.net/workbook/view/1152 (A형 문제집) https://www.acmicpc.net/problem/23291 어항은 N x N 배열의 row = N 부터 채워나간다.#define MAX (100 + 10)int N, K;int FISH[MAX][MAX];void input(){ scanf("%d %d", &N, &K); for (int i = 1; i  main은 아래와 같이 구성된다. addFish() - 가장 적은 어항에 물고기 추가move() - 가능한 만큼 어항 쌓기spreadFish() - 물고기의 이동fishSort() - 어항 재정리fold() - 어항 2번 접기sp.. 2021. 11. 6.
BOJ 23290 : 마법사 상어와 복제 (삼성 SW TEST A형) A형 필수 알고리즘을 체계적으로 배우고 싶다면? (인프런 바로가기) 삼성 A형 전체 링크 www.acmicpc.net/workbook/view/1152 (A형 문제집) https://www.acmicpc.net/problem/23290 먼저, 문제 아래에 설명된 상어의 이동 방법에 대해 구현해보자.상어의 이동 방법은 상하좌우 = 1, 2, 3, 4 중 3개를 선택하는 중복 조합이다따라서 43 = 64가지 방법을 미리 구현해둔다.N과 M (4) - 중복 조합 코드에서 outputList를 고치면 된다.상하좌우에 대한 경우의 수는 moveList에 저장해둔다.typedef struct st2{ int move[3];}MOVE;MOVE moveList[70];int mcnt;int list[10];void o.. 2021. 11. 6.
BOJ 23289 : 온풍기 안녕! (삼성 SW TEST A형) A형 필수 알고리즘을 체계적으로 배우고 싶다면? (인프런 바로가기) 삼성 A형 전체 링크 www.acmicpc.net/workbook/view/1152 (A형 문제집) https://www.acmicpc.net/problem/23289  좌표에 맞춰서 상하좌우 define과 dr, dc 배열을 정의한다.#define RIGHT (1)#define LEFT (2)#define UP (3)#define DOWN (4)/* 순서대로 오른쪽 : 1, 왼쪽 : 2, 위 : 3, 아래 : 4 */int dr[] = { 0, 0, 0, -1, 1 };int dc[] = { 0, 1, -1, 0, 0 }; 문제를 풀기 위한 구조체를 정의한다. RC = 온도를 체크해야하는 checkPoint의 좌표 (r, c)HEATE.. 2021. 11. 6.
BOJ 1212, 1373 : 8진수 2진수, 2진수 8진수 알고리즘 문제 전체 링크 https://www.acmicpc.net/problem/1212 https://www.acmicpc.net/problem/1373 8진수 0 ~ 7를 2진수로 변경하면 아래와 같다. 0 → 000 1 → 001 2 → 010 3 → 011 4 → 100 5 → 101 6 → 110 7 → 111 따라서 str8['8진수 문자열 0 ~ 7']이 000 ~ 111이 되도록 memo 해서 출력만 하면 된다. 단, 가장 처음에 나오는 8진수 0 ~ 3의 경우, 앞의 0은 출력하지 않기 때문에 예외 처리를 한다. #include char str[1001000]; int main(void) { char str8['9' + 1][5] = { 0 }; str8['0'][0] = '0'; st.. 2021. 6. 21.
BOJ 11005 : 진법 변환 2 알고리즘 문제 전체 링크 https://www.acmicpc.net/problem/11005 BOJ 2745 : 진법 변환의 역연산이다. 여기서 change 배열은 정수를 문자로 바꾸는 역할을 한다. #include int N, B; char ans[10000]; char change[36]; int main(void) { scanf("%d %d", &N, &B); for (int i = 0; i < 10; i++) change[i] = '0' + i; for (int i = 10; i = 0; i--) printf("%c", change[ans[i]]); putchar('\n'); } return 0; } 2021. 5. 26.
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.
SWEA 2382 : 미생물 격리 (모의 SW 역량테스트) A형 필수 알고리즘을 체계적으로 배우고 싶다면? (인프런 바로가기) 삼성 A형 전체 링크 모의 SW 역량테스트 문제집 미생물 격리 링크 미생물의 구조체 BIO에는 미생물의 방향, 개수, 그리고 시뮬레이션을 위해 max값을 저장하도록 만든다.아래의 조건을 보자.    ④ 이동 후 두 개 이상의 군집이 한 셀에 모이는 경우 군집들이 합쳐지게 된다.        합쳐 진 군집의 미생물 수는 군집들의 미생물 수의 합이며,       이동 방향은 군집들 중 미생물 수가 가장 많은 군집의 이동방향이 된다.        합쳐지는 군집의 미생물 수가 같은 경우는 주어지지 않으므로 고려하지 않아도 된다. 합쳐진 군집이 아닌, 각 군집의 미생물 수가 가장 큰 군집의 방향으로 갱신되므로, max를 저장해서 비교해야 한다. .. 2021. 5. 9.
BOJ 2745 : 진법 변환 알고리즘 문제 전체 링크 www.acmicpc.net/problem/2745 B진법의 수 N을 10진법으로 변환하는 문제다. 알파벳이 포함되어 있으므로 문자열로 입력을 받는다. 그리고 각 문자에 대해 change 배열에 정수로 저장한다. for (int i = '0'; i 2021. 5. 8.
SWEA 4014 : 활주로 건설 (모의 SW 역량테스트) SW 역량테스트 합격하기 A형 강의 오픈!! (인프런 바로가기) 삼성 A형 전체 링크 모의 SW 역량테스트 문제집 활주로 건설 링크  풀이는 BOJ 14890 : 경사로 (삼성 SW TEST A형)를 참고하자.tc가 여러 개이고 출력 방식만 변경되었다.#include #define MAX (100 + 20)int T, N, L;int MAP[MAX][MAX];int TMAP[MAX][MAX];void input(){ scanf("%d %d", &N, &L); for (int r = 0; r b) ? a - b : b - a;}int isFlat(int* arr, int start, int end){ int value = arr[start]; for (int i = start + 1; i 1) retu.. 2021. 5. 2.
반응형