Today's special moments become memories of tomorrow.

삼성SW역량테스트 4

[백준 20057번] 마법사 상어와 토네이도 (java)

20057번: 마법사 상어와 토네이도 마법사 상어가 토네이도를 배웠고, 오늘은 토네이도를 크기가 N×N인 격자로 나누어진 모래밭에서 연습하려고 한다. 위치 (r, c)는 격자의 r행 c열을 의미하고, A[r][c]는 (r, c)에 있는 모래의 양을 www.acmicpc.net 토네이도의 방향 순서가 서쪽 -> 남쪽 -> 동쪽 -> 북쪽 순서대로 반복된다. direct 3차원 배열을 만들어서, - 첫 번째 인덱스는 방향(0: 서쪽, 1:남쪽, 2:동쪽, 3:북쪽)을 의미하고, - 두 번째 인덱스는 0일 경우 r 좌표(행 좌표), 1일 경우 c 좌표(열 좌표)를 나타내었다. - 세 번째 인덱스는 현재 위치를 기준으로 1%비율에 해당하는 위치, 2%에 해당하는 위치, 5%에 해당하는 위치, 7%에 해당하는 위..

[백준 20055번] 컨베이어 벨트 위의 로봇 (java)

20055번: 컨베이어 벨트 위의 로봇 길이가 N인 컨베이어 벨트가 있고, 길이가 2N인 벨트가 이 컨베이어 벨트를 위아래로 감싸며 돌고 있다. 벨트는 길이 1 간격으로 2N개의 칸으로 나뉘어져 있으며, 각 칸에는 아래 그림과 같이 1부 www.acmicpc.net int[] A = new int[2*N+1] : 칸 별로 내구도를 의미 int[][] num = new int[2][N+1] : 각 위치에 무슨 번호의 칸이 있는지를 의미 컨테이너 벨트의 가장 왼쪽 위가 [0][1], 가장 오른쪽 위가 [0][N], 가장 왼쪽 아래가 [1][1], 가장 오른쪽 아래가 [1][N] 위치를 의미한다. 처음에는 num[0][1] = 1번 칸, num[0][2] = 2번 칸, ... num[0][N]= N번 칸 ....

[백준 19237번] 어른 상어 (java)

19237번: 어른 상어 첫 줄에는 N, M, k가 주어진다. (2 ≤ N ≤ 20, 2 ≤ M ≤ N2, 1 ≤ k ≤ 1,000) 그 다음 줄부터 N개의 줄에 걸쳐 격자의 모습이 주어진다. 0은 빈칸이고, 0이 아닌 수 x는 x번 상어가 들어있는 칸을 의미 www.acmicpc.net int[][] resttime = new int[N+1][N+1] : 각 칸마다 냄새가 없어지기까지 남은 시간 int[][] smell = new int[N+1][N+1] : 각 칸에의 냄새를 뿌린 상어의 번호(냄새가 없으면 0) int[][][] priority = new int[M+1][5][4] : 상어마다 현재 방향에서의 우선순위 ex) priority[m][1][0] : m번 상어의 현재 방향이 위쪽방향(1)일..

[백준 5373번] 큐빙 (java)

5373번: 큐빙 각 테스트 케이스에 대해서 큐브를 모두 돌린 후의 윗 면의 색상을 출력한다. 첫 번째 줄에는 뒷 면과 접하는 칸의 색을 출력하고, 두 번째, 세 번째 줄은 순서대로 출력하면 된다. 흰색은 w, 노란 www.acmicpc.net 앞 면, 뒷 면, 왼쪽 면, 오른쪽 면, 윗 면, 아랫 면 6가지 경우의 수와 시계 방향으로 돌릴 때, 반시계 방향으로 돌릴 때 이렇게 2가지 경우 총 12가지의 경우의 수를 구해서 푸는 문제이다. 문제 자체는 어렵지 않으나, 모든 경우의 수를 다 생각해야 하기 때문에 코드도 길어지고 반례 찾는것도 힘들었다. 나는 cube 3차원 배열을 만들어서 첫번째는 어떤 면인지를 의미하고, 해당 면에서 3x3의 수를 넣어주었다. char[][][] cube = new cha..