본문 바로가기
반응형

브루트포스25

BOJ 15686 : 치킨 배달 (삼성 SW TEST A형) SW 역량테스트 합격하기 A형 강의 오픈!! (인프런 바로가기) 삼성 A형 전체 링크 www.acmicpc.net/workbook/view/1152 (A형 문제집) www.acmicpc.net/problem/15686  input을 받을 때, 치킨집과 집의 좌표를 받아두자.void input(){ scanf("%d %d", &N, &M); for (int r = 0; r  이제 선택할 치킨집 리스트를 만들어야 한다.살아남는 치킨집 리스트를 만들고, 그 치킨집에 대해 최소값을 갱신하면 된다.DFS를 이용해서 만들어보자.void DFS(int L, int chickenCount){ if (chickenCount > M) return; if (L > ccnt) /* 치킨집 보다 많으면 종료 */ { .. 2021. 2. 25.
BOJ 15684 : 사다리 조작 (삼성 SW TEST A형) SW 역량테스트 합격하기 A형 강의 오픈!! (인프런 바로가기) 삼성 A형 전체 링크 www.acmicpc.net/workbook/view/1152 (A형 문제집) www.acmicpc.net/problem/15684 먼저, 사다리를 구성하는 MAP 주변을 벽(3)으로 만들자.그리고 사다리 설치는 1 → 2로 설치하자.void input(){ scanf("%d %d %d", &N, &M, &H); for (int r = 0; r 이렇게 사다리를 설치하면, MAP에서 1을 만날 때 2로 이동, 2를 만나면 1로 이동할 수 있다. 이제 사다리 게임을 진행해서 모두 그대로 내려오는지 check하는 함수를 만들자. 1) 1번 사다리는 MAP[1][1]에서, N번 사다리는 MAP[1][N]에서 출발한다.2) 그리.. 2021. 2. 24.
BOJ 15683 : 감시 (삼성 SW TEST A형) SW 역량테스트 합격하기 A형 강의 오픈!! (인프런 바로가기) 삼성 A형 전체 링크 www.acmicpc.net/workbook/view/1152 (A형 문제집) www.acmicpc.net/problem/15683  먼저 모든 카메라가 방향을 가르키게 하기 위해, input에서 camera의 좌표를 따로 저장해두자.그리고, 5번 카메라의 경우는 방향이 없으므로 따로 모은다.MAP의 경우는 모두 6으로 만든 후, (1, 1)부터 MAP을 만들자. 주변을 미리 벽으로 만들면, 경계 조건을 체크하지 않아도 되기 때문이다.void input(){ scanf("%d %d", &N, &M); for (int r = 0; r  이제 camera 좌표와 방향을 넣으면 벽이 나올 때 까지, '#'으로 만드는 함수를 .. 2021. 2. 24.
BOJ 14889 : 스타트와 링크 (삼성 SW TEST A형) SW 역량테스트 합격하기 A형 강의 오픈!! (인프런 바로가기) 삼성 A형 전체 링크 www.acmicpc.net/workbook/view/1152 (A형 문제집) www.acmicpc.net/problem/14889  N개의 팀 중, N / 2를 선택해야 하는 조합 문제이다.조합 문제에서는 list에 경우의 수를 저장했지만, 여기에서는 visit 배열을 이용해 선택한 팀을 1로 체크하자.그러면 visit = 0인 팀은 저절로 다른 팀이 된다. 마지막으로 선택된 팀(start), 선택되지 않은 팀(link)에 대해 입력받은 표를 보고 점수를 계산해주면 된다.start 팀은 team 배열의 앞에, link 팀은 team[halfN] 부터 저장하자.#include #define MAX (20 + 5)int .. 2021. 2. 19.
BOJ 14888 : 연산자 끼워넣기 (삼성 SW TEST A형) SW 역량테스트 합격하기 A형 강의 오픈!! (인프런 바로가기) 삼성 A형 전체 링크 www.acmicpc.net/workbook/view/1152 (A형 문제집) www.acmicpc.net/problem/14888 숫자가 N개 연산자가 N-1개가 있다.연산자는 4종류고, 중복으로 사용이 가능한 경우다.보통 DFS에서 visit(check, used)으로 현재의 값(여기에서는 연산자)을 사용 중인지 확인하고,DFS를 다음 단계로 보낸다.void DFS(int L){ if (/* return 조건 */) return; for (int i = 0; i  visit을 최대 possible까지 허용한다면?아래와 같이 코드를 수정하면 된다.void DFS(int L){ if (/* return 조건 */) re.. 2021. 2. 19.
BOJ 14501 : 퇴사 (삼성 SW TEST A형) SW 역량테스트 합격하기 A형 강의 오픈!! (인프런 바로가기) 삼성 A형 전체 링크 www.acmicpc.net/workbook/view/1152 (A형 문제집) www.acmicpc.net/problem/14501  모든 경우를 다 해봐야 최대 이익을 알 수 있다.하지만 특정 일에 상담을 한다면, 해당 일 + T[i]일 부터 상담이 가능하다는 조건을 지켜야 한다. 모든 경우는 아래와 같다.1일에 상담 -> 4일, 5일, 6일, 7일 상담 가능.2일에 상담 -> 7일 상담 가능....7일에 상담 -> 불가능. 따라서 DFS를 총 N번 실행한다. (N번째 일을 최초로 시작하는 상담)/* N일부터 상담 시작, 첫 보수는 0원 부터. */for (int i = 1; i  input은 날짜가 1일부터 시작하므.. 2021. 2. 15.
BOJ 14500 : 테트로미노 (삼성 SW TEST A형) SW 역량테스트 합격하기 A형 강의 오픈!! (인프런 바로가기) 삼성 A형 전체 링크 www.acmicpc.net/workbook/view/1152 (A형 문제집) www.acmicpc.net/problem/14500  블럭은 5종류지만, 회전이나 대칭을 시켜도 되므로 총 19종류가 된다.  이 블럭을 실제로 4x4 배열로 만들면 아래의 모양이 된다./* 19개 블럭을 4x4 배열로 선언 */int BLOCK[19][4][4] ={ { { 1, 1, 1, 1 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } }, { { 1, 0, 0, 0 }, { 1, 0, 0, 0 }, { 1, 0, 0, 0 }, { 1, 0, 0, 0 } }, { { .. 2021. 2. 15.
반응형