BOJ 14503 : 로봇 청소기 (삼성 SW TEST A형)
삼성 A형 전체 링크 www.acmicpc.net/workbook/view/1152 (A형 문제집) www.acmicpc.net/problem/14503 로봇 청소기와 같은 시뮬레이션은, 시키는 대로 구현하면 된다. 좌표 4방향, 북, 동, 남, 서는 문제에서 아래와 같이 정의되어있다. /* 0 1 2 3 -> 북 동 남 서 */ int dr[] = { -1, 0, 1, 0 }; int dc[] = { 0, 1, 0, -1 }; 방향 전환은 배열을 이용해서 간단히 할 수 있다. int change[] = { 3, 0, 1, 2 }; 북(0)에서 왼쪽으로 회전하면 서(3), 동(1)에서 왼쪽으로 회전하면 북(0), ... 으로 4방향에 대해서만 정의해주면 되므로 복잡하게 함수를 만들거나 if/else를 사..
2021. 2. 17.
BOJ 14502 : 연구소 (삼성 SW TEST A형)
삼성 A형 전체 링크 www.acmicpc.net/workbook/view/1152 (A형 문제집) www.acmicpc.net/problem/14502 MAP을 입력받을 때, (0, 0)이 아닌 (1, 1)을 기준으로 잡는다. (0, 0) ~ (N+1, N+1)을 모두 1로 만들고 (1, 1)부터 입력을 받으면, 경계 조건을 신경쓰지 않고, 벽인지 아닌지만 체크하면 된다. void input() { scanf("%d %d", &N, &M); for (int r = 0; r
2021. 2. 15.
BOJ 14500 : 테트로미노 (삼성 SW TEST 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 } }, { { 1, 1, 0, 0 }, { 1, 1, 0, 0 }, { 0, 0, 0, 0 }, { 0..
2021. 2. 15.