반응형

Coding Test Study 28

잡기 놀이

문제철수와 영희는 눈을 가리고 잡기 놀이를 하기로 했다.철수는 도망치는 역할을 맡았으며, (x1, y1) 좌표에서 출발한다.매 1초마다 철수는 동/서/남/북 중 한군데를 임의로 선택하여 이동한다.영희는 철수를 잡는 역할을 맡았으며, (x2, y2) 좌표에서 출발한다.매 1초마다 영희는 북서/북동/남서/남동 중 한군데를 임의로 선택하여 이동한다.모든 경우 중에서, 영희가 철수를 가장 빨리 잡는 경우 몇 초의 시간이 걸리는지 출력하시오.입력설명-1000 -1000 -1000 -1000 출력설명영희가 철수를 가장 빨리 잡았을 때의 소요 시간(초)를 정수로 출력매개변수 형식x1 = 2y1 = 4x2 = 5y2 = -3반환값 형식4예시 입출력 설명아래와 같이 움직일 경우, 4초 후에 영희가 철수를 잡을 수 있다...

아메바 분열

문제종찬이는 아메바를 분열시키는 취미가 생겼다. 종찬이는 아메바 하나하나가 모두 소중하기 때문에, 새로 생겨난 아메바는 모두 새로운 이름을 지어주기로 하였다. 이번에 분열시키기로 한 아메바는 아래와 같은 특성을 가진다.아메바가 분열하여 두 개체로 완전히 나뉘는 데에는 1분이 걸린다.분열한 아메바 중 하나는 곧바로 분열을 시작하고, 다른 하나는 delay분간 휴식 후 분열을 시작한다.분열하면 기존의 개체는 사라지고 새로운 두 개체가 생긴 것으로 본다.분열되는 도중에는 기존의 개체가 남아있고, 아직 새로운 개체가 생겨나지 않은 것으로 본다.종찬이는 아메바 한 개체를 분열 시키기 시작한 후, N분 후까지 만들어진 모든 아메바 개체에 새로운 이름을 지어주기로 했다. 종찬이가 준비해야 하는 아메바의 이름은 총 몇..

마을 판사 찾기

문제마을에 1부터 N의 고유 번호를 가진 사람들이 있다. 소문으로는 마을 사람 중에 마을 판사가 있다고 한다. 마을 판사가 실제로 존재한다면,마을 판사는 아무도 믿지 않는다.다른 모든 사람들은 마을 판사를 믿는다.마을 판사가 있다면 오직 한명 뿐이다.2차원 배열 trust가 주어졌을 때, trust[i] = {a, b}는 고유 번호가 a인 사람이 고유 번호가 b인 사람을 믿는다는 것을 의미한다고 한다.마을 판사가 존재한다면 마을 판사의 고유 번호를, 존재하지 않는다면 -1을 출력하는 프로그램을 작성하시오.(단, a가 b를 믿고 b가 c를 믿는다고 할 때, a가 c를 믿는다는 의미는 아니다.)입력설명2 0 출력설명마을 판사의 고유 번호를 정수로 반환매개변수 형식N = 3trust = {{1, 3}, {2,..

[Java] 1826번 - 연료 채우기

https://www.acmicpc.net/problem/1826 1826번: 연료 채우기첫째 줄에 주유소의 개수 N(1 ≤ N ≤ 10,000)가 주어지고 두 번째 줄부터 N+1번째 줄 까지 주유소의 정보가 주어진다. 주유소의 정보는 두개의 정수 a,b로 이루어 져 있는데 a(1 ≤ a ≤ 1,000,000)는 성경www.acmicpc.net  🚗 문제성경이는 트럭을 정글 속에서 운전하다가 트럭의 연료탱크에 갑자기 구멍이 나서 1km를 가는데 1L의 연료가 새 나가게 되었다. 이것을 고치기 위해서는 가장 가까운 마을에 가야 한다. 그런데 그냥 가다가는 중간에 연료가 다 빠질 수가 있다. 다행스럽게도 정글 곳곳에 연료를 채울 수 있는 주유소가 N개 있다. 그런데 정글 속에서 중간에 차를 멈추는 행위는 ..

[Java] 난이도 - 중 / DP 문제

🎈 문제이 게임은 시작점에서 도착점까지 이동하는 게임으로, 길이 미로로 되어있다. 또한, 미로에는 몬스터가 배치되며 밤이 되면 위협을 가한다. 미로는 2차원 정수 배열 maze 로 주어지며, 이 미로의 각 위치는 다음 중 한가지로 주어진다.0 : 이동할 수 있는 일반 길1 : 이동할 수 없는 벽2 : 밤에 나타나 주변을 위협하는 몬스터플레이너는 항상 좌측 상단인 (0, 0) 위치에서 시작하며, 도착지는 항상 가장 우측 하단이다.플레이어는 한 턴에 상, 하, 좌, 우 중 하나를 선택하여 한 칸씩 이동할 수 있으며, 필요에 따라 한 턴 동안 제자리에 가만히 있을 수 도 있다. 단, 1로 표기된 벽으로는 이동할 수 없다. 게임이 시작될 때는 '낮' 상태에서 시작하며, 5턴마다 낮과 밤이 바뀐다. 즉, 첫 다..

[Java] k 자리 제거하기

🎈 문제양의 정수가 담긴 문자열 s 가 있다고 하자. 이 문자열에서 k 개의 숫자를 제거해, 가장 작은 숫자를 만들고자 한다.이렇게 만든 가장 작은 숫자를 담은 문자열을 출력하시오.단, k 개의 문자열을 제거한 결과는 앞에 불필요한 0 이 포함될 수 있으며, 최종 출력에는 이 불필요한 0은 제거하여 출력하시오. 🎈 입력 설명0 0  🎈 출력 설명가장 작은 숫자를 문자열로 반환 🎈 입력 예시s = "105990"k = 1 🎈 출력 예시"5990" 🎈입출력 설명맨 앞의 '1' 을 제거하면 "05990"이 된다. 불필요한 '0'을 제거한 최종 출력은 "5990" 이다.  🎈 코드 구현재귀 형태로 구현주어진 k 만큼 문자를 모두 제거했다면 (k==0 이라면) 리딩 제거를 제거한 후 반환제거할 자릿수..

[Java] 선을 넘나드는 사각형

1. 문제정사각형이 빼곡하게 그려진 종이가 있다. 이 종이는 가로로 N 개의 정사각형이 배치되어 있고, 세로로 M 개의 정사각형이 배치되어 있다.이 종이의 좌측 상단점부터 우측 하단점까지 직선을 긋는다. 예를 들어 N=4, M=9 인 경우 아래 예시사진과 같이 직선이 그어진다. 이 직선에 의해 내부에 선이 그어진 사각형은 총 12개이다.주어진 입력 N, M 에 대해서 위와 같이 내부에 선이 그려지는 사각형의 수를 출력하시오.  2. 입력설명0 0  3. 매개변수 형식N = 4, M = 9  4. 반환값 형식12 5. 예시 입출력 설명본문 예시와 같이 총 12 개의 사각형 내부에 선이 그려진다.  6. 내가 생각해 본 방법직선을 그래프로 생각했을 때 그래프는 y = -M / N * x + M 이다. 이때 ..

[Java] 미로 탈출

1. 문제 지도는 세로가 N, 가로가 M인 2차원 정수 배열 maze 로 주어져 있으며, 현재 위치는 (0, 0)이고 출구의 위치는 (N-1, M-1) 이다. 지도에는 갈 수 있는 위치는 0 으로, 갈 수 없는 위치는 1 로 표기되어 있다. 이 때, 미로를 가장 빠르게 탈출할 경우의 이동 횟수를 출력하시오. 단, 미로를 탈출할 수 없는 경우에는 -1을 출력하시오. 2. 입력 설명 0 < N = M) { continue; } // 새로운 좌표가 갈 수 있는 위치이고, // 방문한 적이 없는 경우 if (maze[newX][newY] == 0 && visited[newX][newY] == 0) { q.offer(new int[]{newX, newY}); visited[newX][newY] = visited[..

[Java] 카지노 교환원

1. 문제 당신은 카지노에서 현금을 칩으로 바꾸어주는 일을 하고 있다. 이 카지노의 손님들은 칩의 갯수를 가능한 적게, 그리고 거스름돈 없이 모두 칩으로 교환하고 싶어한다. 카지노에서 사용되는 칩의 단위가 정수 배열 chips 로 주어질 때, 금액 money 를 모두 칩으로 교환한다고 하자. 이때, 가장 적은 수의 칩으로 교환했을 경우 칩의 갯수를 출력하시오. 2. 입력 설명 0 300원 (1) 힌트 그리디 알고리즘 문제와 유사하나 DP 문제이다. 점화식 : dp[x] = dp[money - chips[y]] + 1 7. 코드 구현 import java.util.Arrays; class Solution { public int solution(int money, ..

반응형