목록99클럽 (63)
원하는 것은 뭐든지
문제풀이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..
문제풀이입력으로 정수 배열이 주어지면 왼쪽에서 오른쪽으로 갈 때 증가하는 수의 개수가 가장 큰 것을 출력하는 것이다.예를 들어,nums = {10,9,2,5,3,7,101,18}이면 (2,5,7,101), (2,3,7,101), (2,5,7,18), (2,3,7,18)의 경우가 가장 긴 경우들이고 길이니까 4가 나와야 한다.제출 1 - 정답class Solution { public static int lengthOfLIS(int[] nums) { int n = nums.length; int[] dp = new int[n]; int maxLength = 1; for (int i = 0; i nums[j]) { dp[..