코딩테스트 (18) 썸네일형 리스트형 프로그래머스(JAVA) - level2(피로도) 문제정리현재 피로도를 k, 2차원 배열 dungeons에 최소 필요 피로도, 소모 피로도가 담긴 값을 주어진다.유저가 탐험할 수 있는 최대 던전 수를 반환 처음 해결하려고 생각해본건.. 일단 소모 피로도를 정렬해서 작은 수를 대입, 던전을 도는 방법을 선택하려고 했다가 최소 피로도가 높아서 못들어가면 어쩌나 하는 고민이 또 생김.. 그렇다면 모든 조건을 대입해서 값을 내야할 것 같은데 어떻게..? 대입해야하는 걸까... ??생각하다가.. 도저히 해결법을 생각해낼 수 없어 구글링해서 해결했다.. 내일 한번 더 풀어봐야지최종코드class Solution { private static int answer; private static boolean[] visit; public int soluti.. 프로그래머스(JAVA) - SORT(가장 큰 수) 문제정리정수가 담긴 배열 numbers의 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 바꾸어 return 처음 작성한 코드class Solution { public String solution(int[] numbers) { String answer = ""; ArrayList list = new ArrayList(); int num; for (int i = 0; i 처음에는 위와같이 짰는데 이유는.. 순서대로 정수 위치시키고 오름차순으로 정렬.. 근데 문제는 6, 10, 2 배열이라면 6102, 6210... 이런 식으로 되어야 하는데 위 코드는 6210 같은 숫자를 고려하지 않은 점..시간은class Solution { publi.. 프로그래머스(JAVA) - SORT(K번째수) 문제정리배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수 반환commands 배열에 [i,j,k] 원소로 가진 2차원 배열 매개변수로 주어짐배열을 순서대로 새면 0부터 시작하지만 i가 1이면 0번째가 1로 시작한다고 생각해야함 작성 코드class Solution { public int[] solution(int[] array, int[][] commands) { int[] answer = new int[commands.length]; for(int i = 0; i for문으로 일단 해결하긴했는데, 좀 더 분명 간략한 방법이 있을 듯 Arrays.copyOfRange() 메소드 사용class Solution { public int[] .. 프로그래머스(JAVA) - STACK/QUEUE (기능개발) 문제정리먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열 progresses각 작업의 개발 속도가 적힌 정수 배열 speeds배포는 하루에 한 번만 할 수 있으며, 하루의 끝에 이루어진다고 가정 처음 작성한 코드class Solution { public int[] solution(int[] progresses, int[] speeds) { int a = 1; List list = new ArrayList(); for (int i = 0; i list2 = new ArrayList(); for (int i = 1; i = list.get(i)) { a++; continue; .. 프로그래머스(JAVA) - STACK/QUEUE (같은 숫자는 싫어) 문제정리배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하고, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 한다.해당 남은 수들을 return 작성한 코드class Solution { public int[] solution(int[] arr) { List list = new ArrayList(); list.add(arr[0]); for(int i = 1; i 연속적으로 나타나는 숫자를 하나만 남기고 전부 제거해야 해야하는데 if(arr[i-1] == arr[i]) 이걸로 해결 하고, int[]에 해당 값을 넣어서 반환시켰는데 뭔가 저 반환하는 값을 다르게 표현할 수 있지 않을까?일단 시간은.. 다른 사람의 코드i.. 프로그래머스(JAVA) - Hash (의상) 문제정리각 종류별로 최대 1가지 의상만 착용할 수 있다. clothes 각 행은 [의상의 이름, 의상의 종류]로 이루어져 있으며, 같은 이름을 가진 의상은 존재하지 않고 알파벳 소문자 또는 _로만 이루어져 있다. 처음 작성한 코드class Solution { public int solution(String[][] clothes) { int answer = clothes.length; Map type = new HashMap(); for(int i = 0; i 위와같이 코드를 작성한 이유는 일단 map에 headgear, eyewear와 같이 의상의 종류를 넣고 getOrDefault를 사용하여 종류의 개수를 value 값으로 들어갈 수 있게 지정아래 코드는 .. 프로그래머스(JAVA) - Hash (전화번호 목록) 문제정리전화번호를 담은 배열 phone_book이 solution 함수의 매개변수로 주어질 때, 어떤 번호가 다른 번호의 접두어인 경우가 있으면 false를 그렇지 않으면 true를 returnclass Solution { public boolean solution(String[] phone_book) { boolean answer = true; Map map = new HashMap(); for(int i = 0; i phone_book를 hashmap에 값을 넣고, 반복문을 이용해서 폰번호 길이만큼 포함하는지 반환할 수 있도록 containsKey(key) -> 맵에서 인자로 보낸 키가 있으면 true 없으면 false를 반환containsValue(va.. 프로그래머스(JAVA) - Hash (완주하지 못한 선수) 문제정리참여한 선수들의 이름이 담긴 배열 participant, 완주한 선수들의 이름이 담긴 배열 completion완주하지 못한 선수이름은 return이름은 알파벳 소문자로 이루어져 있으며, 참가자 중에는 동명이인 존재 이 문제의 포인트 중 하나는 completion의 길이는 participant의 길이보다 1 작다 라는 부분인 것 같다. 그러면 무조건 완주하지 못한 선수가 1명이라는 뜻이기에 그걸 처음에 잡아내지 못함처음 작성한 코드import java.util.Arrays;class Solution { public String solution(String[] participant, String[] completion) { Arrays.sort(participant); .. 이전 1 2 3 다음