목록코딩테스트준비 (63)
원하는 것은 뭐든지
문제풀이입력으로 지도가 주어진다. D는 벽이고 R은 시작 지점 G는 도착지점 .은 이동가능 지역이다.이동할 때는 스르륵 미끄러져 이동한다. 벽을 만나거나 지도의 끝 부분에 닿았을 때만 멈출 수 있다.R에서 시작하여 G까지 갈 수 있는 경우 중 최소값을 리턴하면 된다.만약 G까지 도달 할 수 없는 경우에는 -1을 return 한다. 제출 1 - 오답class Solution { private int answer = Integer.MAX_VALUE; private boolean[][] visited; private static final int[] DX = {-1,0,1,0}; private static final int[] DY = {0,1,0,-1}; public int s..
문제풀이String 배열에 지도를 담아서 입력된다. 지도에서 X는 바다고 숫자는 하루 먹을 식량이어서 식량만큼 무인도에서 버틸 수가 있다. 무인도는 위아래좌우로 묶여있다. 각 무인도에서 버틸 수 있는 일 수를 오름차순으로 정렬해서 나타낸다. 만약 무인도가 없다면 -1을 담아 출력한다.제출 1 - 정답import java.util.*;class Solution { public int[] solution(String[] maps) { List count = new ArrayList(); char[][] map = new char[maps.length][]; int idx = 0; for(String str : maps){//char배열에 maps들을 담..
문제풀이입력으로 돌의 개수와 돌에서 점프할 수 있는 거리 그리고 시작점이 주어진다.시작점에서 출발하여 갈 수 있는 돌들의 개수를 출력하면 된다. 제출 1 - 정답import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Main { static int answer = 0; static boolean[] check; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new..
문제풀이입력으로 구간들이 주어지면각 구간의 종점과 같거나 큰 시작점을 가지는 구간이 있으면 그 구간의 인덱스를 출력하면 된다.조건을 만족하는 구간이 여러 개라면 가장 작은 인덱스를 반환하면 된다.제출 1 - 정답class Solution { public int[] findRightInterval(int[][] intervals) { int[] answer = new int[intervals.length]; //정답 배열 Map map = new HashMap(); for (int i = 0; i () { @Override public int compare(int[] i1, int[] i2) { r..