목록전체 글 (157)
원하는 것은 뭐든지

문제풀이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[..

문제풀이문제 설명에 영어는 괜히 헷갈리게만 한다.이 문제는 괄호들이 주어지는데 문자열을 한 글자씩 옆으로 밀면서 올바른 괄호가 되는 경우를 찾아서 return 하면 된다.왼쪽 끝으로 민 문자열은 오른쪽으로 가서 붙는다.제출 1 - 정답import java.util.*;class Solution { public int solution(String s) { int answer = 0; for(int i=0;i stack = new ArrayDeque(); char[] chrArr = str.toCharArray(); for(int i=0;i StringBuilder를 사용해서 문자열을 만들어서 확인하는 방식으로 진행했다.다른..