전체 글
-
[JAVA] 백준 3190번 뱀코팅테스트 연습/자바 2022. 8. 5. 00:35
뱀 성공다국어 한국어 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 128 MB 50512 20702 13784 39.280% 문제 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임은 NxN 정사각 보드위에서 진행되고, 몇몇 칸에는 사과가 놓여져 있다. 보드의 상하좌우 끝에 벽이 있다. 게임이 시작할때 뱀은 맨위 맨좌측에 위치하고 뱀의 길이는 1 이다. 뱀은 처음에 오른쪽을 향한다. 뱀은 매 초마다 이동을 하는데 다음과 같은 규칙을 따른다. 먼저 뱀은 몸길이를 늘려 머리를 다음칸에 위치시킨다. 만약 이동한 칸에 사과가 있다면, 그 칸에 있던 사과가 없어지..
-
[JAVA] 백준 12100번 2048 EASY코팅테스트 연습/자바 2022. 2. 27. 22:03
2048 (Easy) 성공 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 512 MB 55528 15573 8852 25.456% 문제 2048 게임은 4×4 크기의 보드에서 혼자 즐기는 재미있는 게임이다. 이 링크를 누르면 게임을 해볼 수 있다. 이 게임에서 한 번의 이동은 보드 위에 있는 전체 블록을 상하좌우 네 방향 중 하나로 이동시키는 것이다. 이때, 같은 값을 갖는 두 블록이 충돌하면 두 블록은 하나로 합쳐지게 된다. 한 번의 이동에서 이미 합쳐진 블록은 또 다른 블록과 다시 합쳐질 수 없다. (실제 게임에서는 이동을 한 번 할 때마다 블록이 추가되지만, 이 문제에서 블록이 추가되는 경우는 없다) 의 경우에서 위로 블록을 이동시키면 의 상태가 된다. 여기서, 왼쪽으로 블록을 이동시키면 의..
-
[JAVA] 백준 10819번 차이를 최대로 (PERMUTATION_재귀 사용)코팅테스트 연습/자바 2022. 2. 26. 21:31
차이를 최대로 성공 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 256 MB 19037 12138 9363 64.253% 문제 N개의 정수로 이루어진 배열 A가 주어진다. 이때, 배열에 들어있는 정수의 순서를 적절히 바꿔서 다음 식의 최댓값을 구하는 프로그램을 작성하시오. |A[0] - A[1]| + |A[1] - A[2]| + ... + |A[N-2] - A[N-1]| 입력 첫째 줄에 N (3 ≤ N ≤ 8)이 주어진다. 둘째 줄에는 배열 A에 들어있는 정수가 주어진다. 배열에 들어있는 정수는 -100보다 크거나 같고, 100보다 작거나 같다. 출력 첫째 줄에 배열에 들어있는 수의 순서를 적절히 바꿔서 얻을 수 있는 식의 최댓값을 출력한다. 예제 입력 1 복사 6 20 1 15 8 4 10 예..
-
[JAVA] 백준 1182번 부분수열의 합 (재귀 부분집합 사용)코팅테스트 연습/자바 2022. 2. 26. 19:59
부분수열의 합 성공 시간 제한메모리 제한제출정답맞힌 사람정답 비율 2 초 256 MB 46949 21661 13868 44.219% 문제 N개의 정수로 이루어진 수열이 있을 때, 크기가 양수인 부분수열 중에서 그 수열의 원소를 다 더한 값이 S가 되는 경우의 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 정수의 개수를 나타내는 N과 정수 S가 주어진다. (1 ≤ N ≤ 20, |S| ≤ 1,000,000) 둘째 줄에 N개의 정수가 빈 칸을 사이에 두고 주어진다. 주어지는 정수의 절댓값은 100,000을 넘지 않는다. 출력 첫째 줄에 합이 S가 되는 부분수열의 개수를 출력한다. 예제 입력 1 복사 5 0 -7 -3 -2 5 8 예제 출력 1 복사 1 출처 문제를 만든 사람: author5 문제의 오타..
-
[JAVA] 백준 2468번 안전영역 (BFS QUEUE 이용)코팅테스트 연습/자바 2022. 2. 26. 19:17
안전 영역 성공 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 128 MB 54064 20292 13599 34.149% 문제 재난방재청에서는 많은 비가 내리는 장마철에 대비해서 다음과 같은 일을 계획하고 있다. 먼저 어떤 지역의 높이 정보를 파악한다. 그 다음에 그 지역에 많은 비가 내렸을 때 물에 잠기지 않는 안전한 영역이 최대로 몇 개가 만들어 지는 지를 조사하려고 한다. 이때, 문제를 간단하게 하기 위하여, 장마철에 내리는 비의 양에 따라 일정한 높이 이하의 모든 지점은 물에 잠긴다고 가정한다. 어떤 지역의 높이 정보는 행과 열의 크기가 각각 N인 2차원 배열 형태로 주어지며 배열의 각 원소는 해당 지점의 높이를 표시하는 자연수이다. 예를 들어, 다음은 N=5인 지역의 높이 정보이다. 6 ..
-
[JAVA] 백준 2178 번 미로 탐색 (BFS QUEUE) 활용코팅테스트 연습/자바 2022. 2. 26. 18:26
미로 탐색 성공 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 192 MB 113591 46981 30201 40.278% 문제 N×M크기의 배열로 표현되는 미로가 있다. 1 0 1 1 1 1 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 0 1 1 미로에서 1은 이동할 수 있는 칸을 나타내고, 0은 이동할 수 없는 칸을 나타낸다. 이러한 미로가 주어졌을 때, (1, 1)에서 출발하여 (N, M)의 위치로 이동할 때 지나야 하는 최소의 칸 수를 구하는 프로그램을 작성하시오. 한 칸에서 다른 칸으로 이동할 때, 서로 인접한 칸으로만 이동할 수 있다. 위의 예에서는 15칸을 지나야 (N, M)의 위치로 이동할 수 있다. 칸을 셀 때에는 시작 위치와 도착 위치도 포함한다. 입력 첫째 줄에 두 정..
-
[JAVA] 백준 16927 배열돌리기 2코팅테스트 연습/자바 2022. 2. 13. 21:01
배열 돌리기 2 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 512 MB 2579 836 668 34.846% 문제 크기가 N×M인 배열이 있을 때, 배열을 돌려보려고 한다. 배열은 다음과 같이 반시계 방향으로 돌려야 한다. A[1][1] ← A[1][2] ← A[1][3] ← A[1][4] ← A[1][5] ↓ ↑ A[2][1] A[2][2] ← A[2][3] ← A[2][4] A[2][5] ↓ ↓ ↑ ↑ A[3][1] A[3][2] → A[3][3] → A[3][4] A[3][5] ↓ ↑ A[4][1] → A[4][2] → A[4][3] → A[4][4] → A[4][5] 예를 들어, 아래와 같은 배열을 2번 회전시키면 다음과 같이 변하게 된다. 1 2 3 4 2 3 4 8 3 4 8 6 5..
-
[JAVA] 백준 2667번 단지번호붙이기 BFS , DFS코팅테스트 연습/자바 2022. 2. 13. 19:46
DFS 깊이 우선 탐색으로 루트 노드(또는 다른 임의의 노드)에서 시작해서 다음 분기(branch)로 넘어가기 전에 해당 분기를 완벽하게 탐색하는 방법 입니다 . 최대한 깊이 내려가다가 더이상 갈 수 있는 방법이 없으면 다시 가장 가까운 분기점으로 돌아가 다른 분기방향으로 진행하는 것 입니다. BFS 는 너비 우선 탐색으로 노드 에 연결되어 있는 모든 길을 한번씩 탐색한 뒤 다시 연결되어 있는 모든 길을 넓게 탐색하는 방법입니다 출처 :http://blog.hackerearth.com/wp-content/uploads/2015/05/dfsbfs_animation_final.gifhttps://namu.wiki/w/BFS DFS = 현재 노드에서 최대한 깊이 들어갈 수 있는 점까지 들어가면서 탐색 >> 스..